Как получить «оставшиеся» записи после Linq Join - PullRequest
0 голосов
/ 13 мая 2019

Я соединяю два списка объектов в новый список, используя некоторые критерии. Как лучше всего получить оставшиеся предметы после объединения?

//line is an internal object, not important here
List<Line> main = ReadMainLines(); //read the main lines
List<Line> ref = ReadReferenceLines(); //read the lines that contain addtional data

IEnumerable<Line[]> result = main.Join(...);

Пока все хорошо. Я использую результат для дополнительной обработки. Моя задача состоит в том, чтобы получить остальные строки из main, которых нет в объединенном результате. Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 14 мая 2019

Если вы хотите, чтобы то, что находится в ref, но не в main, вы можете использовать .Except, как показано здесь .

ref.Except(main) - Если вы хотите обратного, тогда это просто main.Except(ref). Теперь вам нужно написать IEquatableComparer для типа Line.

Кроме того, не используйте ref в качестве имени переменной, это ключевое слово в C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...