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
            });

linq获取datarow并基于Column迭代每个字段

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
        ...
}