DataTable数组

时间:2011-06-29 07:25:02

标签: c# .net

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

dt[0].NewRow();

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

谢谢, 太阳

ps我使用的是C#2.0

3 个答案:

答案 0 :(得分:8)

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

DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables.Add(new DataTable());
ds.Tables[0].NewRow();

答案 1 :(得分: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);

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

List<DataTable> dtList = new List<DataTable>();
dtList.Add(new DataTable());
dtList.Add(new DataTable());
...

或根据建议by Reniuz,您可以使用DataSet

答案 2 :(得分:2)

试试这个:

DataRow dr = dt.NewRow();
dr[0] = "Sydney"; // or you could generate some random string.
dt.Rows.Add(dr);