DataTable数组

Sun*_*een 3 .net c#

是否可以创建(分配内存)DataTable数组,然后像这样访问它:

dt[0].NewRow();
Run Code Online (Sandbox Code Playgroud)

如果可以,我该如何分配内存?

谢谢,孙

ps我使用的是C#2.0

Ren*_*iuz 8

为什么不使用DataSet代替数组呢?

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables.Add(new DataTable());
ds.Tables[0].NewRow();
Run Code Online (Sandbox Code Playgroud)


dig*_*All 6

是的,当然你可以:

int n = 10; // the number of datatables 
DataTable[] dtArray = new DataTable[n];
for(int i=0; i < n; i++)
    dtArray[i] = new DataTable("DataTable " + i);
Run Code Online (Sandbox Code Playgroud)

如果您事先不知道DataTable的数量,可以使用如下的可扩展结构List<DataTable>:

List<DataTable> dtList = new List<DataTable>();
dtList.Add(new DataTable());
dtList.Add(new DataTable());
...
Run Code Online (Sandbox Code Playgroud)

或者,正如Reniuz所建议,您可以使用DataSet