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