我有“包含”方法,但我需要一个“不包含”方法。有什么建议吗?
var ResultsOfMPD = (from m in engMpdMultiSelect
where engMpdMultiItems.Select(o => o.ENG_MPD_MYTECHNIC_TASK_NO).
Contains(m.ENG_MPD_MYTECHNIC_TASK_NO)
select m);
有这样的方法吗?
var ResultsOfMPD = (from m in engMpdMultiSelect
where engMpdMultiItems.Select(o => o.ENG_MPD_MYTECHNIC_TASK_NO).
NOTContains(m.ENG_MPD_MYTECHNIC_TASK_NO)
select m);
最佳答案
使用 !
运算符,如下所示:
var ResultsOfMPD = from m in engMpdMultiSelect
where !engMpdMultiItems.Select(o => o.ENG_MPD_MYTECHNIC_TASK_NO).
Contains(m.ENG_MPD_MYTECHNIC_TASK_NO)
select m;
顺便说一句,您不需要 Select()
调用。
相反,你可以写
var ResultsOfMPD = from m in engMpdMultiSelect
where !engMpdMultiItems.Any(o => o.ENG_MPD_MYTECHNIC_TASK_NO == m.ENG_MPD_MYTECHNIC_TASK_NO)
select m;
或者,等价地,
var ResultsOfMPD = from m in engMpdMultiSelect
where engMpdMultiItems.All(o => o.ENG_MPD_MYTECHNIC_TASK_NO != m.ENG_MPD_MYTECHNIC_TASK_NO)
select m;
关于c# - 如何从列表中获取 NON 包含数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318922/