2010-08-09 55 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

相關問題