#c# #nlp
#c# #nlp
Вопрос:
могу ли я использовать string.GetHashCode()
функцию для надежного хранения исходных данных?
Ответ №1:
Вы можете использовать string.Получите hashCode для балансировки хэш-таблицы. Это все, для чего он предназначен, и это все, для чего его следует использовать.
В частности, в документации конкретно указано, что вы ни при каких обстоятельствах не должны сохранять хэш-коды в постоянном хранилище; алгоритму хэш-кода строки разрешено меняться в любое время, и фактически это делалось в прошлом.
Комментарии:
1. Алгоритм также может возвращать совершенно разные результаты на разных машинах при использовании таким образом.
Ответ №2:
Из MSDN в Object.Метод GetHashCode
Реализация метода GetHashCode по умолчанию не гарантирует уникальных возвращаемых значений для разных объектов. Кроме того, .NET Framework не гарантирует реализацию метода GetHashCode по умолчанию, и возвращаемое им значение будет одинаковым для разных версий .NET Framework. Следовательно, реализация этого метода по умолчанию не должна использоваться в качестве уникального идентификатора объекта для целей хеширования.