我对.net很新。我有一个获得和设置属性的类。现在,如果我想为这个数组赋值,我面临空引用。我无法指定值ORM.a[i] = dr["SUMMARY"].ToString();
public class method1
{
public string[] a{ get; set; }
public double[] b{ get; set; }
}
publiv method1 GetResponseData()
{
int i = 0;
method1 ORM = new method1 ();
foreach (DataRow dr in dtResultHistory.Rows)
{
ORM.a[i] = dr["SUMMARY"].ToString() ;
ORM.b[i] = Convert.ToDouble( dr["AVG_TIME"]);
}
return ORM ;
}
答案 0 :(得分:2)
你面临零异常,因为你没有创建它的实例。
类似
string[] a = new string [size];
如果你没有关于我将会有多少元素的详细信息,我建议你使用List。
示例:
public class method1
{
public method1()
{
a = new List<string>();
b = new List<double>();
}
public List<string> a{ get; set; }
public List<double> b{ get; set; }
}
您之后的代码将是
public method1 GetResponseData()
{
int i = 0;
method1 ORM = new method1();
foreach (DataRow dr in dtResultHistory.Rows)
{
ORM.a.Add(dr["SUMMARY"].ToString());
ORM.b.Add(Convert.ToDouble( dr["AVG_TIME"]));
}
return ORM ;
}
答案 1 :(得分:2)
发生错误是因为a
和b
属性都尚未初始化。首先在类构造函数中初始化它们:
public class method1
{
public method1() {
this.a = new string[100]; // We take 100 as an example of how many element the property can handle.
this.b = new double[100];
}
public string[] a{ get; set; }
public double[] b{ get; set; }
}