首先我必须说,我是一个使用 LINQ 的新手。实际上我以前从未使用过,但我有一个任务需要使用来自列表的值来过滤数据表。
所以我想知道是否可以在 LINQ 中使用列表中的值作为过滤器值来查询数据表。有人可以给我一些提示
谢谢。
执行此操作的最佳方法取决于您计划如何处理过滤结果。您是否需要将结果作为 DataTable 返回以进行进一步操作,或者您是否将数据绑定到结果?
以下面的示例为例,它返回匹配 DataRows 的(可绑定)枚举器
//create sample table with sample rows
DataTable table = new DataTable();
table.Columns.Add("id", typeof(int));
for (int i = 1; i < 11; i++)
{
DataRow row = table.NewRow();
row[0] = i;
table.Rows.Add(row);
}
//filter the table by id (in a list)
List<int> rowIds = new List<int> { 1, 3, 6 };
IEnumerable<DataRow> matchingRows = from DataRow row in table.Rows
where rowIds.Contains((int)row[0])
select row;
如果您需要数据表,您可以将行导入到另一个表中:
DataTable filteredTable = table.Clone();
foreach (DataRow filteredRow in matchingRows)
{
filteredTable.ImportRow(filteredRow);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)