如何使用C#'foreach'在DataTable中的列?

53 c#

我如何将foreach每列作为数据流?

DataTable dtTable = new DataTable();
MySQLProcessor.DTTable(mysqlCommand, out dtTable);

foreach (DataRow dtRow in dtTable.Rows)
{
    //foreach(DataColumn dc in dtRow)
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ras 82

这应该工作:

DataTable dtTable;

MySQLProcessor.DTTable(mysqlCommand, out dtTable);

// On all tables' rows
foreach (DataRow dtRow in dtTable.Rows)
{
    // On all tables' columns
    foreach(DataColumn dc in dtTable.Columns)
    {
      var field1 = dtRow[dc].ToString();
    }
}
Run Code Online (Sandbox Code Playgroud)


glo*_*rob 17

我相信这就是你想要的:

DataTable dtTable = new DataTable();
foreach (DataRow dtRow in dtTable.Rows)
{
    foreach (DataColumn dc in dtRow.ItemArray)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,ItemArray 的类型为 Object[],因此 dc 的类型应为 Object,而不是 DataColumn。 (2认同)

Eni*_*ate 10

你可以这样做:

DataTable dt = new DataTable("MyTable");

foreach (DataRow row in dt.Rows)
{
    foreach (DataColumn column in dt.Columns)
    {
        if (row[column] != null) // This will check the null values also (if you want to check).
        {
               // Do whatever you want.
        }
     }
}
Run Code Online (Sandbox Code Playgroud)


jle*_*jle 8

    foreach(DataColumn column in dtTable.Columns)
    {

    }
Run Code Online (Sandbox Code Playgroud)


Kam*_*ach 6

像这样的东西:

 DataTable dt = new DataTable();

 // For each row, print the values of each column.
    foreach(DataRow row in dt .Rows)
    {
        foreach(DataColumn column in dt .Columns)
        {
            Console.WriteLine(row[column]);
        }
    }
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/system.data.datatable.rows.aspx