Уилл стринг.Метод GetHashCode() возвращает отрицательное значение?
Я пробовал с партией случайных строк, все значения, которые я получил, положительные, но мне интересно:
будет String.GetHashCode()
возврат отрицательный или 0?
Так как возвращаемое значение int, поэтому я думаю, что это может быть, поэтому, если это так, я должен изменить свою логику.
Если у вас есть ответ или есть официальные источники, пожалуйста, поделитесь
2 ответов
Да, он может возвращать отрицательные значения.
вы не должен имейте любую логику, которая работает с GetHashCode()
значения.GetHashCode()
не гарантируется уникальность и может меняться между сборками.
GetHashCode()
должен рассматриваться как непрозрачный токен, который может быть объединен с другими хэшами или модифицирован в хэш-таблицы.
оно может возвратить отрицательное значение (основанное на msdn):
http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx