在C#.NET中使用单个值初始化整数数组
可能重复:在C#.NET中使用单个值初始化整数数组,c#,.net,C#,.net,可能重复: 有没有一种方法可以在不必显式分配每个项的情况下使用单个值(如-1)初始化整数数组 基本上,如果我有 int[] MyIntArray = new int[SomeCount]; 默认情况下,所有项目都分配为0。有没有一种方法可以在不使用循环的情况下将该值更改为-1?或者使用{}显式分配每个项 如果只有一个值(或只有几个值),可以使用 如果你有很多,你可以这样使用 int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToA
有没有一种方法可以在不必显式分配每个项的情况下使用单个值(如-1)初始化整数数组 基本上,如果我有
int[] MyIntArray = new int[SomeCount];
默认情况下,所有项目都分配为0。有没有一种方法可以在不使用循环的情况下将该值更改为-1?或者使用{}显式分配每个项 如果只有一个值(或只有几个值),可以使用 如果你有很多,你可以这样使用
int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToArray();
你可以用这个方法
将创建一个包含1000个元素的数组,所有元素的值均为1234。在新的int[size]中放入一些大小,此语句将不起作用。即使你把一个静态大小像50。所以,我认为这不是正确的答案。@FarhanHafeez你完全正确,我最初误读了这个问题,并立即去编辑我的答案,我的道歉不要忘记
.ToArray()
+1一次。在使用之前,请阅读数组是否较大。对于int以外的类型,请使用模板形式,例如Enumerable。重复(1,20)。ToArray()@DLO或可枚举。重复(1U,20).ToArray()
还可以查看这篇文章,其中讨论了如何有效地执行此操作以及如何不将ToArray用于大型阵列。唯一的答案是清楚的。
int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToArray();
int[] myIntArray = Enumerable.Repeat(-1, 20).ToArray();
int[] myIntArray = Enumerable.Repeat(1234, 1000).ToArray()