Как я могу получить NON содержит данные из списка? - PullRequest
1 голос
/ 23 июля 2010

У меня есть метод «Содержит», но мне нужен метод «Не содержит». Есть предложения?

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);

Ответы [ 3 ]

7 голосов
/ 23 июля 2010

Используйте оператор !, например:

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;
0 голосов
/ 23 июля 2010

Как насчет За исключением метода ?

К вашему сведению - В теории множеств это называется относительным дополнением.То есть, учитывая два набора A и B, набор всех элементов, которые находятся в B, но не в A, называется относительным дополнением набора A по отношению к набору B. Но не содержит или не работает тоже.

0 голосов
/ 23 июля 2010
var ResultsOfMPD = from m in engMpdMultiSelect
                   where engMpdMultiItems.All(x => x.ENG_MPD_MYTECHNIC_TASK_NO != m.ENG_MPD_MYTECHNIC_TASK_NO)
                   select m;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...