0

我正在将 cvs 文件转储到数据表中。我能够遍历每一行和每一列。我只对 16 列中的 4 列运行一些逻辑。我试过如果但没有工作。我如何使用“for”类型语法?例如,我喜欢说为 columnA 执行此操作。对于列 B 执行此操作。(而不是 if(column.ColumnName == "ColumnA") 然后做点什么)

4

2 回答 2

1

我相信您会坚持针对某些字符串值测试列名。即使有人想出了一个 lambda 表达式,它本质上都是一样的:循环和字符串比较。

foreach(DataRow row in table.Rows)
{
    foreach(DataColumn col in table.Columns)
    {
        switch (col.Name)
        {
            case "ColumnA":
                  // do something
                  // if(row[col.Name] = ??) { ... }
                  break;
            case "ColumnB":
                  // do something else
                  break;
        }
    }
}
于 2010-11-19T14:39:26.473 回答
0

如果您已经知道列的名称,那么您始终可以通过以下语法引用它:

tableObject.Columns[columnName]

对于特定的行:

tableObject.Rows[rowIndex][columnName]
于 2010-11-21T20:39:44.887 回答