我想知道是否有更好的方法来初始化引用类型对象的数组,就像这样.
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)
还有其他想法吗?
你可以用这个:
Enumerable.Range(0,10).Select(_=>new Queue<int>()).ToArray()
Run Code Online (Sandbox Code Playgroud)
但IMO你的第一个例子也很好.
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |