2011-03-19 105 views
6

我有一个数组像这样的:填充的DataTable使用Array

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(); 

我可以填补dataTablearray数据?

回答

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是非常无效的数据结构。

+0

如果它是无效的,你可以建议一个更有效的数据结构? – Pedro77 2013-04-19 13:07:20

+0

@ Pedro77取决于你想要做什么。 – 2013-04-25 12:50:59

+3

你应该解释或说明为什么它是无效的。 – Timmerz 2013-06-28 20:35:04