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");
}