使用数组填充DataTable

6

我有一个像这样的数组:

    const int dim = 1000;
    double[,] array = new double[dim, dim];

    Random ran = new Random();
    for (int r = 0; r < dim; r++)
        for (int c = 0; c < dim; c++)
            array[r, c] = (ran.Next(dim));

    DataTable dataTable = new DataTable();

我可以用数组的数据填充dataTable吗?

3个回答

5

试试这样:

var dt = new DataTable();
//AddColumns
for (int c = 0; c < dim; c++)
    dt.Columns.Add(c.ToString(), typeof(double));
//LoadData
for (int r = 0; r < dim; r++)
    dt.LoadDataRow(arry[r]);

1

你需要设置列,然后使用 DataTable.LoadDataRow() 逐行加载数据,该方法接受一个 object[] 参数。

请查看 MSDN page 上的示例。


0

可以,但是你必须首先像这样向表中添加1000列:

dataTable.Columns.Add("Column" + c, typeof(double));

然而,真正的问题是为什么你想要这样做。DataTable 是一种非常低效的数据结构。


如果这种数据结构不够有效,您能否建议一种更高效的数据结构? - Pedro77
@Pedro77 这取决于你想用它做什么。 - František Žiačik
3
你需要解释或提供原因说明为什么它是无效的。 - Timmerz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接