NullReferenceException even when after "new MyType[]&qu
本文关键字:MyType qu new quot even when after NullReferenceException | 更新日期: 2023-09-27 17:58:14
我使用的是MSChart,我正在创建类似的数组
DataPoint[] datapoint = new DataPoint[10];
datapoint[0].SetValueY(86);
但它给出错误
NullReferenceException:对象引用未设置为对象
为什么会出错?
您的数组最初包含10个null
引用。在使用它之前,你必须用实际的对象引用来填充它
DataPoint[] datapoint = new DataPoint[10];
for (int i = 0; i < datapoint.Length; ++i) {
datapoint[i] = new DataPoint();
}
datapoint[0].SetValueY(86);
因为datapoint
数组中索引0
处的对象为null。
在SetValueY
方法调用之前添加此行:
datapoint[0] = new DataPoint();
您需要为数组中的每个索引(0-9)执行此操作,或者以其他方式(例如使用LINQ)用DataPoint对象填充数组
我不熟悉DataPoint
,但它似乎是class
。因此表达式new DataPoint[10]
创建了一个由10个值组成的数组,所有这些值都被初始化为null
。在使用这些元素之前,您需要对它们进行初始化。例如
datapoint[0] = new DataPoint();
datapoint[0].SetValueY(86);
您需要初始化数组中的DataPoints。
DataPoint[] datapoint = new DataPoint[10];
datapoint[0] = new DataPoint();
datapoint[0].SetValueY(86);