List1
содержит элементы { A, B }
, а List2
содержит элементы { A, B, C }
.
Мне нужно, чтобы возвращалось { C }
, когда я использую расширение Except Linq. Вместо этого мне возвращается { A, B }
, и если я переворачиваю списки в своем выражении, результат будет { A, B, C }
.
Я неправильно понимаю смысл Except? Есть ли другое расширение, которое я не вижу для использования?
Я просмотрел и попробовал несколько разных сообщений по этому вопросу, но пока безуспешно.
var except = List1.Except(List2); //This is the line I have thus far
РЕДАКТИРОВАТЬ: Да, я сравнивал простые объекты. Никогда не пользовался IEqualityComparer
, было интересно узнать.
Спасибо всем за помощь. Проблема заключалась не в реализации компаратора. Связанный пост в блоге и пример ниже, где это полезно.