【问题标题】:Creating overload for String.GetHashCode() to return same value in x86 and x64 environments为 String.GetHashCode() 创建重载以在 x86 和 x64 环境中返回相同的值
【发布时间】:2017-04-16 17:44:34
【问题描述】:

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

我有几个问题:

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

【问题讨论】:

标签: c# .net x86-64 gethashcode


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2012-02-23
    • 1970-01-01
    相关资源
    最近更新 更多