Мне нужно переопределить метод Equals() для одного из моих типов, но, похоже, мне также нужно переопределить метод GetHashCode().
Я не уверена:
Если у меня есть тип Animal и если у меня есть 2 экземпляра Animal, которые в основном являются одними и теми же (равными) Cats; подобно:
Animal cat_01 = new Animal("Kitty", "Pink");
Animal cat_02 = new Animal("Kitty", "Pink");
Должен ли я реализовать GetHashedCode(), чтобы вернуть одно и то же значение как для cas_01, так и для cat_02, даже если они представляют разные ссылки в памяти?
Так ли должен работать GetHashCode()?
Спасибо
==
. Если вы это сделаете, то также спроектируйте его как неизменяемый. Также см. ответ MattDavey. - person Henk Holterman   schedule 05.09.2011