如何使用 linq 获取引用数据表字段值的数据行数组
本文关键字:数据 数组 字段 数据表 何使用 linq 获取 引用 | 更新日期: 2023-09-27 18:36:52
我想使用 linq 从其字符串类型 ColumnA 不为 null 或取决于其长度>0 的数据表中获取数据行数组,因此我可以使用 Indexof() 方法获取行索引来处理其他事情。
ColumnA ColumnB ColumnC
A0 B0 C0
Null B1 C1
A2 B2 C2
Null B3 C3
我的林克状态:
DataRow[] rows = myDataTable.Select("ColumnA is not null").Where(row=>row.Field<string>("ColumnA").Length>0);
有人可以提供帮助吗?
使用 AsEnumerable
,你必须添加System.Data.DatasetExtensions
引用和导入System.Data
,将数据表转换为可枚举:
要获取索引:
int desiredIndex =
dt.AsEnumerable().ToList().
FindIndex(r => !string.IsNullOrEmpty(r.Field<string>("ColumnA")) &&
r.Field<string>("ColumnA").Length > 0);
要获取匹配的行列表,请执行以下操作:
List<DataRow> RowFilter =
dt2.AsEnumerable().ToList().Where
(r => !string.IsNullOrEmpty(r.Field<string>("ColumnA")) &&
r.Field<string>("ColumnA").Length > 0).ToList();
获取匹配行数组:
DataRow[] drArray = dt2.AsEnumerable().ToList().Where
(r => !string.IsNullOrEmpty(r.Field<string>("ColumnA")) &&
r.Field<string>("ColumnA").Length > 3).ToArray();