2010-08-09 92 views
3

我想创建一个唯一的数字的一个int [N]数组:有没有简单的方法来创建一个初始化的数组?

int[] result = new int[24]; 

for(int i = 0; i<24; i++) 
    result[i] = 1; 

return result; 

有没有做到这一点更短的方式。可能是这样的:

return (from i in new int[24] 
     select 1).ToArray(); 

但并不像这样丑陋。

+0

即你想创建一个数组与不同于0的数字初始化? – 2010-08-09 08:11:12

+0

您的其他问题的答案没有答案吗? – Bobby 2010-08-09 08:11:49

+0

哦,我们在谈论随机或连续数字吗? – Bobby 2010-08-09 08:12:22

回答

11

我不知道用什么方式让他们所有的“1”独特之处,但这会做等同于您的代码:

return Enumerable.Repeat(1, 24).ToArray(); 
+0

+1表示这只是与示例等价的内容,而不表示OP要求的内容。从这个意义上讲,如果我们允许在两个例子中都假设一个错字,那么可以补充说Enumerable.Range(0,24).ToArray(); *可能是OP正在寻找的东西。 – 2010-08-09 08:14:42

+0

哈哈,刚才我误解了OP的问题并给出了Enumerable.Range答案。他说“结果[i] = 1”而不是“结果[i] = i”; – 2010-08-09 08:17:58

5

您发布似乎并不匹配的代码问题的标题,但这将做同样的你的片段:

Enumerable.Repeat(1, 24).ToArray() 
+1

对不起,我英语不好。问题应该是:是否有一种简单的方法来创建一个常量填充的数组? – 2010-08-09 09:37:45

相关问题