linq获取datarow并基于Column迭代每个字段
本文关键字:迭代 字段 Column 获取 datarow linq | 更新日期: 2023-09-27 17:59:50
我有一个Datatable,我试图在其中检查数据表中的某一行是否全部为null或为空。我有一个linq语句,通过索引获取行,我可以看到行的值,但我不知道如何检查值属于哪一列,以及值是null还是空的。当我在foreach中时,如何找到列名和列值?在这种情况下,数据行称为"行"
int rowIndex = 9;
DataTable.AsEnumerable().Where((row, index) => index == rowIndex).ToList()
.ForEach(row => {
//Trying to iterate thru each column in the row
//Check the column Name that currently on
//get the value
});
var ColumnToIngorn = DataTable.Columns["XXX"].Ordinal;
var ArrItem = DataTable.Rows[rowIndex].ItemArray.Where((item, indexColumn) => indexColumn != ColumnToIngorn);
foreach (var item in ArrItem)
...
或:
var ArrItem = DataTable.Rows[rowIndex].ItemArray.Select((item, indexColumn) => new { index = indexColumn, value = item });
foreach (var item in ArrItem)
{
if (item.index == 5) //Check index column
...
if (DataTable.Columns[item.index].ColumnName == "XXX") //check name column
...
}