Почему String.GetHashCode() реализован по-разному в 32-битной и 64-битной версиях CLR?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему String.GetHashCode() реализован по-разному в 32-битной и 64-битной версиях CLR?

Сообщение Anonymous »

Каковы технические причины разницы между 32-битной и 64-битной версиями string.GetHashCode()?

Что еще более важно, почему 64-битная версия -битная версия, кажется, завершает свой алгоритм, когда встречает символ NUL? Например, все следующие выражения возвращают значение true при запуске в 64-разрядной среде CLR.

Код: Выделить всё

"\0123456789".GetHashCode() == "\0987654321".GetHashCode()
"\0AAAAAAAAA".GetHashCode() == "\0BBBBBBBBB".GetHashCode()
"\0The".GetHashCode() == "\0Game".GetHashCode()
Это поведение (ошибка?) проявлялось как проблема с производительностью, когда мы использовали такие строки в качестве ключей в словаре.

Подробнее здесь: https://stackoverflow.com/questions/681 ... it-version
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Связывание управляемого C ++/CLR LIB с C ++/CLR DLL
    Anonymous » » в форуме C++
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Будет ли string.gethashcode () вернуть отрицательное значение?
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Пользовательский модуль IIS работает в 32-битной среде, но не в 64-битной.
    Гость » » в форуме C++
    0 Ответы
    44 Просмотры
    Последнее сообщение Гость
  • Кто определяет размер любого типа или структуры данных (в зависимости от 32-битной или 64-битной версии)? [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Как определить, работает ли моя оболочка Python в 32-битной или 64-битной версии?
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»