可能重複:
How do I quicky fill an array with a specific value?初始化具有單個值的整數數組
有一種方法與一個單一的值等不-1初始化整數數組必須明確分配每個項目?
基本上,如果我有
int[] MyIntArray = new int[SomeCount];
所有項目都默認分配0。有沒有辦法將該值更改爲-1而不使用循環?或使用{}明確分配每個項目?
可能重複:
How do I quicky fill an array with a specific value?初始化具有單個值的整數數組
有一種方法與一個單一的值等不-1初始化整數數組必須明確分配每個項目?
基本上,如果我有
int[] MyIntArray = new int[SomeCount];
所有項目都默認分配0。有沒有辦法將該值更改爲-1而不使用循環?或使用{}明確分配每個項目?
int[] myIntArray = Enumerable.Repeat(-1, 20).ToArray();
不要忘記所有ToArray的'.ToArray()' – mlorbetske
+1。如果數組很大,請閱讀[使用Enumerable.Range高內存消耗](http://stackoverflow.com/questions/10519275/high-memory-consumption-with-enumerable-range)。 –
對於除int以外的其他類型,請使用模板表單,例如。 Enumerable.Repeat
如果你有一個值(或少數幾個),你可以明確地使用collection initializer
int[] MyIntArray = new int[] { -1 };
如果你有很多設置它們,你可以使用Enumerable.Repeat這樣
int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToArray();
把一些大小放在新的int [Size]中,這個語句不起作用。即使你把一個像靜態大小50. 所以,我不認爲這是正確的答案。 –
@FarhanHafeez你絕對正確,我原本誤讀了這個問題,立即去編輯我的答案,我的歉意 – mlorbetske
你可以使用Enumerable.Repeat方法
int[] myIntArray = Enumerable.Repeat(1234, 1000).ToArray()
將創建1000個元素的陣列,所有具有1234
只有答案很清楚。 – ozgur
值並且檢查這個http://stackoverflow.com/questions/13980570/how-to-intialize-integer-array-in -c-sharp /討論如何高效地實現它。http://stackoverflow.com/questions/10519275/high-memory-consumption-with-enumerable-range如何不使用ToArray來處理大型數組。 –