Equals() никогда не пишут:
return this.GetHashCode() == other.GetHashCode()
А сравнивают по полям?
Одинаковый хешкод не гарантирует равносильность элементов
У равных объектов должен быть равный хэшкод. Но если хэшкоды равные, то это не значит, что объекты тоже. Это называется коллизия
Из частых кейсов, переопределяют метод, и используют ид объекта для хешерование
Обсуждают сегодня