C#DataTable,按行/列索引获取值

时间:2017-08-01 02:33:16

标签: c# indexing data-structures datatable

我有一个DataTable,它由一个csv文件填充,有8列,大约有2000行。我希望使用当前存储在DataTable

中的csv值填充对象

如何索引特定的DataTable单元格?换句话说,我希望以与2D数组类似的方式处理数据表,如下所示:

string value = array[i][j];

这是我的代码:

DataTable d = GetDataTableFromCSVFile(file);
for (int i = 0; i < d.Rows.Count; i++)
{
    for (int j = 0; j < d.Columns.Count; j++)
    {
         //string x = d[i][j]; <-- something like this.
    }
} 

3 个答案:

答案 0 :(得分:4)

像这样

string x = d.Rows[i][j].ToString()

答案 1 :(得分:1)

您可以使用每个循环来获取数据。

            string x = string.Empty;
            DataTable d = FileHelpers.CommonEngine.CsvToDataTable(@"D:\Sacramentorealestatetransactions.csv", "Sacramentorealestatetransactions", ',', true); // Get FileHelpers package from NuGet
            foreach(DataRow row in d.Rows)
                foreach (object dc in row.ItemArray)
                    x = dc.ToString();

答案 2 :(得分:0)

迭代DataTable的最佳方式。 Foreachfor循环更快地工作:

foreach (DataRow dtRow in dtTable.Rows)
{
    foreach(DataColumn dc in dtTable.Columns)
    {
      var field1 = dtRow[dc].ToString();
    }
}