Я написал класс, полученный из IEqualityComparer<T>
, который отлично подходит для запроса LINQ, в котором я нуждался.
Как я понимаю, сначала вызывается GetHashCode()
(fast), затем Equals()
(немного медленнее), если хэш-код является таким же, для таких операций.
Однако, когда вы используете его для прямых сравнений, вручную, я использую что-то вроде
return new MyIEqualityComparer().Equals(objA,objB);
Которая отказывается от проверки равенства GetHashCode()
. Есть ли способ сравнения objA
- objB
, который автоматически не пропускает проверку GetHashCode()
?
Думаю, я надеялся, что objA.Equals()
будет иметь перегрузку, которая приняла аргумент, полученный из IEqualityComparer<T>
.