3

我有一个场景,我的服务器端代码在 x86 环境中运行,而客户端在 x64 中运行。问题正在发生,我们正在使用 String.GetHashCode() 来识别 HashTable 中的对象,因为“GetHashCode 的行为取决于它的实现,这可能会从公共语言运行时的一个版本更改为另一个版本。” -MSDN。我使用不安全代码从以下堆栈溢出问题创建 x86 等效 GetHashCode():我可以依赖 GetHashCode() 的值来保持一致吗?.

我有几个问题:

  1. 是否建议将不安全的代码留在托管代码世界中。
  2. 如何将上述问题中的不安全代码转换为安全代码。
4

1 回答 1

1

为提供的字符串生成 HashCode 的创建和扩展方法,即使客户端和服务器在不同的环境(x86 或 x64)中执行,它也是相同的。

于 2011-03-16T23:32:08.587 回答