c# - best way to initialize an array of reference type object
Posted
by
lidong
on Stack Overflow
See other posts from Stack Overflow
or by lidong
Published on 2012-09-07T21:20:51Z
Indexed on
2012/09/07
21:38 UTC
Read the original article
Hit count: 157
I wonder if there is better way to initialize an array of reference type object, like this.
Queue<int>[] queues = new Queue<int>[10];
for (int i = 0; i < queues.Length; i++)
{
queues[i] = new Queue<int>();
}
I tried Enumerable.Repeat, but all elements in the array refer to same instance,
Queue<int>[] queues = Enumerable.Repeat(new Queue<int>(), 10).ToArray();
I also tried Array.ForEach, but it doesn't work without ref keyword:
Queue<int>[] queues = Array.ForEach(queues, queue => queue = new Queue<int>());
any other idea?
© Stack Overflow or respective owner