初始化引用类型对象数组的简明方法

lid*_*ong 4 c# linq

我想知道是否有更好的方法来初始化引用类型对象的数组,就像这样.

Queue<int>[] queues = new Queue<int>[10];
for (int i = 0; i < queues.Length; i++)
    queues[i] = new Queue<int>();
Run Code Online (Sandbox Code Playgroud)

我尝试了Enumerable.Repeat,但是数组中的所有元素都引用了同一个实例,

Queue<int>[] queues = Enumerable.Repeat(new Queue<int>(), 10).ToArray();
Run Code Online (Sandbox Code Playgroud)

我也尝试了Array.ForEach,但没有ref关键字它不起作用:

Queue<int>[] queues = Array.ForEach(queues, queue => queue = new Queue<int>());
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

Cod*_*aos 6

你可以用这个:

Enumerable.Range(0,10).Select(_=>new Queue<int>()).ToArray()
Run Code Online (Sandbox Code Playgroud)

但IMO你的第一个例子也很好.