Заполнить DataTable массивом

у меня есть массив, как это:

    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 С array данные?

3 ответов


попробуйте что-то вроде этого:

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

вы должны настроить столбцы, а затем загрузить одну строку за раз, используя

DataTable.LoadDataRow() Что происходит object[]

проверить пример страница MSDN.


Да, вы можете, но сначала вы должны добавить 1000 столбцов в таблицу следующим образом:

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

однако вопрос в том, зачем вы хотите это сделать. DataTable - очень неэффективная структура данных.