Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите по HashCode - msdn кажется врет / 4 сообщений из 4, страница 1 из 1
11.01.2016, 10:20
    #39144289
Alexander_fx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по HashCode - msdn кажется врет
привет
читаю про hashcode
ссылка

https://msdn.microsoft.com/ru-ru/library/4yh14awz(v=vs.110).aspx

Например, хэш-функция для строки может принимать коды ASCII каждого символа в строке и объединять их для создания хэш-кода.Строка "пикник" будет иметь хэш-код, отличный от хэш-кода строки "корзина", поэтому строки "пикник" и "корзина" будут находиться в разных контейнерах. В то же время строки "приказ" и "каприз" будут иметь одинаковый хэш-код и будут находиться в одном контейнере.

при этом

? "приказ".GetHashCode
456921434
? "каприз".GetHashCode
972113890

кому верить - компилятору или докам ?
...
Рейтинг: 0 / 0
11.01.2016, 10:42
    #39144315
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по HashCode - msdn кажется врет
Доки в оригинале надо читать
авторFor example, a hash function for a string might take the ASCII codes of each character in the string and add them together to generate a hash code.The string "picnic" would have a hash code that is different from the hash code for the string "basket"; therefore, the strings "picnic" and "basket" would be in different buckets.In contrast, "stressed" and "desserts" would have the same hash code and would be in the same bucket.
Затести "stressed" и "desserts"

По большому счету пофиг, т.к. хэш не гарантирует уникальности, т.е. рано или поздно все равно появится два разных набора с одинаковым хэшем.
...
Рейтинг: 0 / 0
11.01.2016, 11:05
    #39144343
Alexander_fx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по HashCode - msdn кажется врет
Dima T,

? "stressed".GetHashCode
1362970977
? "desserts".GetHashCode
-919909283
...
Рейтинг: 0 / 0
11.01.2016, 11:50
    #39144399
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по HashCode - msdn кажется врет
Имелась ввиду в MSDN некая хеш функция, подобная этой.
Код: c#
1.
2.
3.
4.
5.
6.
   static int GHC(string str)
        {
            if (string.IsNullOrEmpty(str))
                return 0;
           return str.Aggregate(0, (x, y) => x += y);
        }


А не реализация GetHashCode для строки в .NET.
Внутри МС реализацию GetHashCode для строк меняют каждую неделю, дабы выявить возможные ошибки, если кто будет в коде закладываться на GetHashCode.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите по HashCode - msdn кажется врет / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]