На этой неделе меня укусила ошибка, возникшая, когда мой код был размещен в процессе x64.Я использую хеш-значение для поиска, и я храню это хеш-значение в базе данных.Значение хеша, которое было сгенерировано в прошлом, было хэшем x86, и теперь, когда генерируются хэши x64, я получаю ошибки, потому что значения поиска больше не совпадают.
Я очень скептически отношусь к этому, но я все равно решил спросить.Можно ли сгенерировать хэш-значение x86, если мой код выполняется в процессе x64?
Для справки, я работаю в .NET 4.0 с использованием C #.
Редактировать:
Вот проблема, с которой я столкнулся: String.GetHashCode () возвращает разные значения
Вы можете продублировать проблему, создав консольное приложение со следующим кодом:
"DDD.Events.Application.ApplicationReferenceCreated".GetHashCode()
Запустите приложение на платформе x86, затем запустите его на платформе x64.
Я просто хочу получить согласованные значения для разных платформ.Тем не менее, я могу просто создать предварительно скомпилированный список хэшей, чтобы в случае необходимости переключаться при сбое.Я просто хотел узнать, есть ли способ получить согласованные значения из GetHashCode ().Я так не думаю, но если это возможно, это будет самое простое решение в моем случае.