Хороший ресурс для объяснения того, как хэш-коды используются в коллекциях - PullRequest
1 голос
/ 23 апреля 2010

Может ли кто-нибудь дать хорошее объяснение и / или ссылки на хороший ресурс о том, как хеш-коды используются для хранения и извлечения объектов в хеш-таблицах, словарях и т. Д., Особенно в C # / .NET.

Мне интересно посмотреть, как Equals и GetHashCode используются совместно при хранении и извлечении элементов.

Ответы [ 3 ]

1 голос
/ 23 апреля 2010

Это довольно хорошая демонстрация: http://research.cs.vt.edu/AVresearch/hashing/buckethash.php

1 голос
/ 23 апреля 2010

Это зависит от коллекции, но для словаря хеш-код используется для определения, в какую корзину добавляется объект, а Equals используется для поиска элемента в корзине, среди других элементов, которые могут иметь такой хэш.

0 голосов
/ 23 апреля 2010

try object.GetHashCode .

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

...