从列 LINQ c# 中获取数据 Table 的所有行元素

Get All Row Elements of Data Table From Column LINQ c#

我有一个包含列名称 "Part Number" 和其他各种列的 DataTable。我想获取列 "Part Number" 中的所有元素。此列有时可以位于不同的位置,因此我不能只分配一个特定的项目数组索引。我想用 LINQ 来做。

现在,我只抓取第一列中的所有内容。但是,我想将其设置为根据列标题抓取数据。

var parts = from row in dataTable.AsEnumerable()
            where true != string.IsNullOrWhiteSpace((row.ItemArray[0] == DBNull.Value)
                ? string.Empty
                : row.ItemArray[0].ToString())
            select row.ItemArray[0];

您可以通过 DataColumn 索引 DataColumnCollection,如下所示:

// Find the DataColumn by column name
string columnName = "Part Number";
DataColumn partNumber = dataTable.Columns[columnName];

var parts = from row in dataTable.AsEnumerable()
            where !string.IsNullOrWhiteSpace(row[partNumber].ToString())
            select row[partNumber];

DataTable 担心在 ItemArray 中找到索引。您只需要知道列名即可。

有关详细信息,请参阅 documentation