Хотя Except
является частью ответа, это не весь ответ. По умолчанию Except
(как и некоторые из операторов LINQ) выполняет сравнительное сравнение ссылочных типов. Для сравнения значений в объектах вам нужно будет
IEquatable<T>
в вашем типе, или Equals
и GetHashCode
в вашем типе , или IEqualityComparer<T>
для вашего типа