Re: Вопрос по Hashtable
От: Lloyd Россия  
Дата: 08.01.11 00:31
Оценка: +3
Здравствуйте, Аноним, Вы писали:

А>Я вот не очень понял, стандартная функция GetHash возвращает 4 байта, собственно этим ограничивается ее множество значений.

А>Соотвественно существуют множество строк из 5 ти символов для которых GetHash() вернет одинаковое значение, при этом строки будут разные.
А>Как в этом случае быть с Dictionary<string, object>, где ключом является строка. Получается очень не надежный вариант ? Т.к. разные строки могут в результате ссылаться на 1 объект.
А>Или в Dictionary не используется GetHash функция и считается как-то иначе.

Хэш ключа используется для поиска bucket-а. После того, как bucket найден, значения в нем перебираются обычным циклом с проверкой по Equals.
Так что, даже если хэш-код у двух строк один и тот же, значение все равно найдется в хэш-таблице.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.