执行到"dr[i][0] = (tsd.GetSwimmer()).name;"一句时
系统提示"未处理的“System.NullReferenceException”类型的异常出现在 AdapterPatternTest.exe 中。其他信息: 未将对象引用设置到对象的实例。"请问各位高手是什么问题???
private void CLONE_Click(object sender, System.EventArgs e)
{
swimData tsd = (swimData)this.sd.Clone();
DataTable tb = new DataTable("swimmer");
tb.Columns.Add((new DataColumn("name",typeof(string))));//执行到这里就有问题.
tb.Columns.Add((new DataColumn("ID",typeof(int))));
tb.Columns.Add((new DataColumn("club",typeof(string))));
tb.Columns.Add((new DataColumn("score",typeof(float))));
tb.Columns.Add((new DataColumn("age",typeof(int))));
tb.Columns.Add((new DataColumn("gender",typeof(string))));
DataRow[] dr = new DataRow[tsd.GetList().Count];
tsd.MoveFirst();
for(int i=0;i<tsd.GetList().Count;i++)
{
dr[i][0] = (tsd.GetSwimmer()).name;
dr[i][1] = (tsd.GetSwimmer()).ID;
dr[i][2] = (tsd.GetSwimmer()).club;
dr[i][3] = (tsd.GetSwimmer()).score;
dr[i][4] = (tsd.GetSwimmer()).age;
dr[i][5] = (tsd.GetSwimmer()).gender;
tb.Rows.Add(dr[i]);
}
this.dataGrid1.DataSource = tb;
}
{
if(tsd.GetSwimmer() != null )
{
dr[i][0] = (tsd.GetSwimmer()).name;
dr[i][1] = (tsd.GetSwimmer()).ID;
dr[i][2] = (tsd.GetSwimmer()).club;
dr[i][3] = (tsd.GetSwimmer()).score;
dr[i][4] = (tsd.GetSwimmer()).age;
dr[i][5] = (tsd.GetSwimmer()).gender;
tb.Rows.Add(dr[i]);
}
dr[i] = tb.NewRow();
dr[i][0] = (tsd.GetSwimmer()).name;
dr[i][1] = (tsd.GetSwimmer()).ID;
dr[i][2] = (tsd.GetSwimmer()).club;
dr[i][3] = (tsd.GetSwimmer()).score;
dr[i][4] = (tsd.GetSwimmer()).age;
dr[i][5] = (tsd.GetSwimmer()).gender;
dr[i][j]是对象dr[i]里的ItemArray数组对应的各列数据。
先加一行:
MessageBox.Show((tsd.GetSwimmer()).name);
看出不出错!