![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.01.2016
Сообщений: 67
|
![]()
Говорят существует правило, что если мы переопределяем Equals, то должны переопраделить и GetHashCode - почему?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Не то чтобы правило, и не то что прям должен... это из разряда хорошего стиля. Почему? Кратко: потому что они тесно связаны. Если вы переопределяете Equals, то значит вы меняете стандартную логику сравнения, а т.к. GetHashCode для одинаковых объектов должен выдавать одинаковый хеш, то и его логику надо подправить.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Gethashcode vs equals | ts-alan | Общие вопросы .NET | 14 | 04.04.2014 11:07 |
equals | Русtam | Общие вопросы по Java, Java SE, Kotlin | 2 | 01.10.2012 17:37 |
отредактировать программу и реализовать equals() и hashCode() | akkalenik | Общие вопросы по Java, Java SE, Kotlin | 1 | 07.10.2011 20:16 |
equals!!! | grimm_jow | Общие вопросы по Java, Java SE, Kotlin | 5 | 13.06.2010 13:45 |
Переопределение операций | toeman | Общие вопросы C/C++ | 2 | 20.11.2007 11:21 |