2011-06-03 81 views

回答

3

您的數組最初包含10個null引用。在使用它之前,您必須使用實際的對象引用來填充它。嘗試類似:

DataPoint[] datapoint = new DataPoint[10]; 
for (int i = 0; i < datapoint.Length; ++i) { 
    datapoint[i] = new DataPoint(); 
} 

datapoint[0].SetValueY(86); 
+0

'new'關鍵字用於創建內存,然後在'DataPoint [] datapoint = new DataPoint [10]''new''關鍵字是什麼? – jams 2011-06-03 07:05:28

+2

@jams,它會分配足夠的內存以適合您指定大小的新數組對象,該數組對象最初包含空引用。簡而言之,數組對象確實存在,但不包含它所包含的項目。 – 2011-06-03 07:06:37

3

因爲datapoint數組中索引爲0的對象爲null。

SetValueY方法調用之前添加此行:

datapoint[0] = new DataPoint(); 

你需要的陣列(0 - 9)在每個指標做這做填充陣列數據點的對象一些其他的方式(使用LINQ,例如)

2

我不熟悉DataPoint,但它似乎是一個class。因此,表達式new DataPoint[10]創建了一個包含10個值的數組,這些值都被初始化爲null。在使用它們之前,您需要初始化元素。例如,

datapoint[0] = new DataPoint(); 
datapoint[0].SetValueY(86); 
+0

'new'關鍵字用於創建內存,然後在'DataPoint [] datapoint = new DataPoint [10]'什麼是'new'關鍵字? – jams 2011-06-03 07:04:55

+0

@jams您可以將其視爲創建一個連續10個可以存儲'DataPoint'值的插槽。 – JaredPar 2011-06-03 07:08:51

1

您需要初始化數組中的數據點。

DataPoint[] datapoint = new DataPoint[10]; 
datapoint[0] = new DataPoint(); 
datapoint[0].SetValueY(86); 
相關問題