руки отрывать надо. я как-то вырезал из проекта кривую реализацию identity map, в которой объекты сравнивались по GetHashCode, даже без его переопределения. падало 3 раза в месяц, на базе в пару миллионов записей.
в коде нигде коммента // have a nice debugging нет? :)
хорошо, что этот код ты мне уже показывал - тут я полминуты в него втыкал, но скачущая хреновина справа побеждала :)
а про код - если взять явный ахтунг с GetHashCode() за скобки, что больше всего мне понравилось что если есть еще класс YYY, то new XXX().CompareTo(null as YYY) // - будет "больше", а new XXX().CompareTo(new YYY()) // - будет exception
Comments 4
Reply
В одном месте даже if (GetHashCode() > other.GetHashCode()) return 1;
Reply
в коде нигде коммента // have a nice debugging нет? :)
Reply
а про код - если взять явный ахтунг с GetHashCode() за скобки, что больше всего мне понравилось что если есть еще класс YYY, то
new XXX().CompareTo(null as YYY) // - будет "больше", а
new XXX().CompareTo(new YYY()) // - будет exception
Reply
Leave a comment