2015-07-20 22 views
-1

我在C#初學者,我想聲明這個C#數組:
如何在c#中聲明信任數組?

double[] array1; 
for(int i=0;i<10;i++) 
    array1[i]=i; 


但得到的錯誤和C#說改變陣列這樣:

double[] array1={1.1,2.2}; 


但我必須使用我的第一個代碼,我該如何解決這個問題?謝謝。

+6

'雙[]數組1 =新的雙[10];' – Rob

+0

感謝我的朋友,但在c#圖表中使用該數組,例如array1 [9] = null和在c#圖表中獲取空值的錯誤 –

+0

使用'列表 .ToArray()'在您的情況下防止null –

回答

1

double[] array1;只定義變量,但不實例化數組。

這樣做:當你初始化數組

double[] array1 = new double[10]; 
for(int i=0;i<10;i++) 
    array1[i]=i; 
+0

謝謝我的朋友,但在c#圖表中使用該數組,例如array1 [9] = null並在c#圖表中獲取空值的錯誤 –

+0

您的評論不清楚,如果答案不是您想要的,請更改題。 – Amit

0

在.NET中,您需要提供一個大小,使內存可以分配給它。

,這是因爲這樣

double[] array1 = new double[10]; 

還值得一提的是,數組的大小是靜態所以一旦你與大小創建它,如果你想讓它改變了你需要創建一個新的陣列來完成。

+0

謝謝我的朋友,但在c#圖表中使用該數組,例如array1 [9] = null,並在c#圖表中獲得空值的錯誤 –

+0

@behzadrazzaqi不要初始化它,就像在我的答案中那樣。 –

0

你可以試試這個:

int a = 10; // the size you want 
array1 = new double[a]; 
for (int i = 0; i < a; i++) 
    array1[i] = i; 
0

你根本無法使用自己的代碼,因爲它不是在C#允許的。 數組在創建時需要知道它的長度,這就是爲什麼在創建數組時需要指定它的長度。

另外,您必須指定它,否則array1仍然爲null,這意味着嘗試使用它時會出錯。

所以,你有兩個選擇:

  • double[] array1 = new double[10],意思是「創建房間的陣列爲10個元素,並且每個值設置爲0.0」,或者說
  • double[] array1 = { 1.0, 2.0, ..., 10.0 };,其設置長度數組的數量與您指定的元素的數量,並將其值指定爲您指定的值(示例中爲1.0-10.0)。
0

如果您確切知道數組中的元素數量,則應使用數組。如果您不確定使用集合List並將其轉換爲數組(或者按原樣使用它)。

陣:

double[] array1 = new double[10]; 

for(int i=0;i<10;i++) array1[i]=i; 

集(如果你知道數組的長度不使用它):

list<double> coll1 = new List<double>(); 
for(int i=0; i < unknownNumber; i++) coll1.Add(i); 
double[] array1 = coll1.ToArray();