【发布时间】:2011-05-12 16:15:47
【问题描述】:
我正在将 cvs 文件转储到数据表中。我能够遍历每一行和每一列。我只对 16 列中的 4 列运行一些逻辑。我试过如果但没有工作。我如何使用“for”类型语法?例如,我喜欢说为 columnA 执行此操作。对于列 B 执行此操作。 (而不是 if(column.ColumnName == "ColumnA") 然后做点什么)
【问题讨论】:
标签: .net datatable datarow datacolumn
我正在将 cvs 文件转储到数据表中。我能够遍历每一行和每一列。我只对 16 列中的 4 列运行一些逻辑。我试过如果但没有工作。我如何使用“for”类型语法?例如,我喜欢说为 columnA 执行此操作。对于列 B 执行此操作。 (而不是 if(column.ColumnName == "ColumnA") 然后做点什么)
【问题讨论】:
标签: .net datatable datarow datacolumn
我相信您一直在针对某个字符串值测试列名。即使有人想出了一个 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;
}
}
}
【讨论】:
如果您已经知道列的名称,那么您始终可以通过以下语法来引用它:
tableObject.Columns[columnName]
对于特定的行:
tableObject.Rows[rowIndex][columnName]
【讨论】: