Почему в c используется gethashcode?

Оглавление:

Почему в c используется gethashcode?
Почему в c используется gethashcode?

Видео: Почему в c используется gethashcode?

Видео: Почему в c используется gethashcode?
Видео: Неделя 8. 10 HashSet, Equals GetHashCode 2024, Ноябрь
Anonim

GetHashCode в основном существует для одной цели: служить хэш-функцией, когда объект используется в качестве ключа в хеш-таблице. … Хэш-таблица - это структура данных, которая связывает значение с ключом.

Какова цель GetHashCode?

Метод GetHashCode предоставляет этот хэш-код для алгоритмов, которым требуется быстрая проверка равенства объектов Для получения информации о том, как хеш-коды используются в хеш-таблицах, и о некоторых дополнительных алгоритмах хэш-кода, см. запись о хэш-функции в Википедии. Два одинаковых объекта возвращают одинаковые хеш-коды.

Нужно ли мне реализовать GetHashCode?

Важно реализовать как equals, так и gethashcode из-за коллизий, в частности, при использовании словарей. если два объекта возвращают один и тот же хэш-код, они вставляются в словарь с цепочкой. При обращении к элементу используется метод equals.

Когда мы должны переопределить GetHashCode?

Если вы реализуете ссылочный тип, вам следует подумать о переопределении метода Equals, если ваш тип похож на базовый тип, такой как Point, String, BigNumber и т. д. Переопределите метод GetHashCode, чтобы тип корректно работал в хеш-таблице Прочтите дополнительные рекомендации по операторам равенства.

Что такое хэш в коде?

Хеширование - это простая передача некоторых данных по формуле, которая дает результат, называемый хэшем. Этот хэш обычно представляет собой строку символов, а хэши, сгенерированные формулой, всегда имеют одинаковую длину, независимо от того, сколько данных вы вводите в него. Например, формула MD5 всегда выдает хэш длиной 32 символа.

Рекомендуемые: