我在查询 DataSet.Tables[0] 和删除不符合列表要求的行时遇到了一些问题。
//This is my list
var values = new List<string> {"Test", "Test2"};
// Now I just query the DataSet for anything that doesnt match this list
var query = from x in ds.Tables[0].AsEnumerable()
from b in values
where !x.Field<string>("ColumnName").Contains(b)
select x;
这有效并返回结果,但它返回 2 x 组相同的行(我假设是因为没有连接)。
我怎样才能得到这些行的不同值?
最佳答案
听起来你可能想要:
var query = from x in ds.Tables[0].AsEnumerable()
where !values.Any(b => x.Field<string>("ColumnName").Contains(b))
select x;
换句话说,找到 values
中的任何值中都不存在“ColumnName”字段值的所有行。
关于c# - 过滤表中不包含 List<string> 中的项目的 DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8575255/