DataTable[] dt = new DataTable[2];
for(i = 0; i <= 1; i++)
{
dt[i].Columns.Add("id");
dt[i].Columns.Add("name");
}
当我运行它时,我得到:
你调用的对象是空的。
可以像这样声明和使用 DataTable 数组吗?
是的,您可以这样做,您会收到该错误,因为dt[i]
它不是 DataTable 实例:
你可以这样做:
dt[i] = new DataTable();
完整代码:
DataTable[] dt = new DataTable[2];
for(i = 0; i <= 1; i++)
{
dt[i] = new DataTable()
dt[i].Columns.Add("id");
dt[i].Columns.Add("name");
}
DataTable[] dt = new DataTable[2];
for(i = 0; i <= 1; i++)
{
dt[i].Columns.Add("id");
dt[i].Columns.Add("name");
}
我认为在代码中您声明了一个具有 2 个位置(空)的数组,但实际上并未填充它们。
你需要:
DataTable[] dt = new DataTable[2];
for(i = 0; i <= 1; i++)
{
dt[i] = new DataTable();
dt[i].Columns.Add("id");
dt[i].Columns.Add("name");
}
为了回答您的问题,是的,您应该能够拥有一系列DataTable
.
您必须先初始化DataTable[]
数组元素:
dt[0] = new DataTable();
dt[1] = new DataTable();
或在循环内
for(i = 0; i <= 1; i++)
{
dt[i] = new DataTable();
dt[i].Columns.Add("id");
dt[i].Columns.Add("name");
}