BadCats
@BadCats

Equals и GetHashCode и их переопределение?

Говорят существует правило, что если мы переопределяем Equals, то должны переопраделить и GetHashCode - почему?
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
@Maa-Kut
В первую очередь: для корректной работы с хэш-коллекциями (типа Dictionary), а именно - при использовании в качестве ключа. Их внутренняя логика предполагает, что если для двух объектов Equals возвращает true, то и значения, возвращаемые GetHashCode, должны быть равны. Если это не так, то коллекция будет работать некорректно: скажем, не находить значения по ключу, хотя они там есть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы