19

可能重复:
如何快速填充具有特定值的数组?

有没有办法用像 -1 这样的单个值初始化整数数组,而不必显式分配每个项目?

基本上,如果我有

int[] MyIntArray = new int[SomeCount];

默认情况下,所有项目都分配为 0。有没有办法在不使用循环的情况下将该值更改为 -1?或使用 {} 明确分配每个项目?

4

3 回答 3

44
int[] myIntArray = Enumerable.Repeat(-1, 20).ToArray();
于 2013-01-08T07:48:20.163 回答
18

您可以使用Enumerable.Repeat方法

int[] myIntArray = Enumerable.Repeat(1234, 1000).ToArray()

将创建一个包含 1000 个元素的数组,所有元素的值都为 1234。

于 2013-01-08T07:48:45.567 回答
14

如果你有一个值(或只有几个),你可以使用集合初始化器显式设置它们

int[] MyIntArray = new int[] { -1 };

如果你有很多,你可以像这样使用Enumerable.Repeat

int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToArray();
于 2013-01-08T07:45:55.423 回答