【问题标题】:DataTable DataRow DataColumn for columns列的 DataTable DataRow DataColumn
【发布时间】:2011-05-12 16:15:47
【问题描述】:

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

【问题讨论】:

    标签: .net datatable datarow datacolumn


    【解决方案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;
            }
        }
    }
    

    【讨论】:

    • 布拉德,我同意你的方法;有用。感谢您的帮助。
    【解决方案2】:

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

    tableObject.Columns[columnName]
    

    对于特定的行:

    tableObject.Rows[rowIndex][columnName]
    

    【讨论】:

    • 感谢 HPS,我已经使用了 Brad 的方法,并且成功了。再次感谢您的参与。
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 2019-03-17
    • 2010-10-19
    相关资源
    最近更新 更多