Является string.GetHashCode () достаточным для словарей word в nlp?

#c# #nlp

#c# #nlp

Вопрос:

могу ли я использовать string.GetHashCode() функцию для надежного хранения исходных данных?

Ответ №1:

Вы можете использовать string.Получите hashCode для балансировки хэш-таблицы. Это все, для чего он предназначен, и это все, для чего его следует использовать.

В частности, в документации конкретно указано, что вы ни при каких обстоятельствах не должны сохранять хэш-коды в постоянном хранилище; алгоритму хэш-кода строки разрешено меняться в любое время, и фактически это делалось в прошлом.

Комментарии:

1. Алгоритм также может возвращать совершенно разные результаты на разных машинах при использовании таким образом.

Ответ №2:

Из MSDN в Object.Метод GetHashCode

Реализация метода GetHashCode по умолчанию не гарантирует уникальных возвращаемых значений для разных объектов. Кроме того, .NET Framework не гарантирует реализацию метода GetHashCode по умолчанию, и возвращаемое им значение будет одинаковым для разных версий .NET Framework. Следовательно, реализация этого метода по умолчанию не должна использоваться в качестве уникального идентификатора объекта для целей хеширования.