GetHashCode() 在不同的服务器上给出不同的结果?

2023-12-26

我像这样声明了 C# 代码行

int hashcode = "apple".GetHashCode();

在我的计算机、工作计算机和朋友的计算机上,结果是 1657858284。在开发服务器上,结果是 1548091822。有没有办法让我告诉项目始终使 GetHashCode() 产生 1657858284,无论它在哪个服务器上?

更多笔记起初,我注意到版本之间存在差异......1657858284结果来自.NET 3.5和.NET 4.0。 1548091822 来自.NET 2.0。

然后我告诉 Visual Studios 2010 将项目编译为 .net 2.0 项目,但它仍然给了我 1657858284。


正如其他人所指出的,这与文档一致。你must not依赖 GetHashCode 返回相同的东西,永远。你唯一可以依赖的不变量是如果对象没有以任何方式改变其相等语义,它将在同一应用程序域中的同一对象上返回相同的值。如果不满足这些条件中的任何一个 - 如果两个对象位于不同的应用程序域中,或者对象以改变其相等语义的方式发生变异 - 那么您无法保证“相同”的对象将返回相同的哈希值代码。

您应该使用哈希码的唯一目的是平衡哈希表。任何其他用途均属于“标签外”用途,风险由您自行承担。不要这样做。如果您需要一个可以跨任意边界工作的稳定字符串哈希,请使用 SHA256 等行业标准算法。

如果您对这个主题感兴趣,请参阅我关于哈希问题的文章存档以获取更多详细信息:

http://blogs.msdn.com/b/ericlippert/archive/tags/hashing/ http://blogs.msdn.com/b/ericlippert/archive/tags/hashing/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GetHashCode() 在不同的服务器上给出不同的结果? 的相关文章

随机推荐

  • 局部变量还是类字段?

    我今天读了一篇关于绩效改进的帖子 http ashwini47 tts blogspot fr 2012 05 top 20 programming tips for performance html在 C 和 Java 中 我仍然坚持这一
  • 带参数的 Postgresql 触发器函数

    我想在名为的表上创建一个触发器takes在 postgresql 中更新另一个表中的值student我正在尝试按以下方式进行操作 但我收到一个错误 指出 OLD 附近存在语法错误 我不明白这有什么问题 这是我的代码 CREATE OR RE
  • 如何正确hook WM_COMMAND

    我正在尝试在 mfc 窗口中挂钩按钮单击 我使用了 WM COMMAND 和 WM NOTIFY 为了测试 如果单击按钮 挂钩必须创建一个消息框 问题是它对按钮点击没有反应 以下是响应 WM COMMAND 和 WM NOTIFY 的代码
  • 典型相关分析

    我刚刚开始在 Matlab 中使用 CCA 我有两个向量X and Y维度的60x1920 and 60x1536样本数为60和不同向量集中的变量是1920 and 1536分别 我想知道如何进行 CCA 将它们减少到子空间 然后进行特征匹
  • MVC 将操作放入最合适的正确控制器中

    我只是想知道在某些情况下决定在哪里创建操作 视图的最佳实践方法是什么 If User有很多Video 创建操作 视图以显示用户视频的最佳位置在哪里 那么 在用户帐户页面的 我的视频 链接中 您是否 只需创建一个用户 我的视频行动和看法 cr
  • 从肥皂信封 zeep 获取数据

    我正在尝试在 python 库的帮助下使用 wsdlzeep https github com mvantellingen python zeep 它工作正常 但我不知道如何从请求中获取数据 My code encoding utf 8 f
  • 最小高度不适用于身体

    min height 不适用于 body html 吗 body html min height 100 绝对没有完成任何事情 firebug 报告正文 html 标签高度根本没有改变 首先 声明一个文档类型 以便您符合标准 如果您还没有这
  • 64位MFC版本中的访问冲突异常

    我正在尝试将 32 位应用程序移植到 64 位 计算似乎运行正确 但我无法正确配置视图 我在 W7 x64 机器上的 VS2005 中使用 MFC C 和 OpenGL Intel 10 0 027 编译器 发生崩溃时 我收到以下消息 3D
  • 跨实现确定性数组#shuffle

    可以将随机数生成器传递给Array shuffle这使得洗牌具有确定性 例如 在 MRI 1 9 3p327 中 1 2 3 4 shuffle random Random new 0 gt 1 2 4 3 1 2 3 4 shuffle
  • 使用 BeautifulSoup 抓取一系列表

    我正在尝试学习网络抓取和Python 以及相关的编程 并且发现了BeautifulSoup库 它似乎提供了很多可能性 我试图找出如何最好地从此页面提取相关信息 http www aidn org au Industry ViewCompan
  • 使用 AutoIt 循环解析 CSV 文件的所有行

    我有以下代码来读取包含两行数据的 csv 文件 我不知道这是怎么回事 如何改进它以读取包含两行数据的 csv 文件 include
  • 如何在Powerpoint VBA中运行宏“OnEnterSlide”或“OnLeaveSlide”?

    是否有某种事件允许在进入幻灯片或离开幻灯片时运行宏 SlideShowNextSlide 或 OnSlideShowPageChange 您可以在以下位置找到完整列表 http officeone mvps org vba events v
  • Android Room @Relation 多对多?

    我正在开发一个 Android 应用程序 并在 Android 操作系统中使用新的架构组件 LiveData ViewModel 和 Room 我在 Room 实现中遇到一个关于创建 Relation 的小问题 该 Relation 返回
  • 如何修复“java.sql.SQLException:数据库已关闭”问题

    我的代码说没有错误 但是当我运行该程序时 它会说数据库已关闭 public class main public static void main String args language SQLite String sql SELECT F
  • 用户管理API

    我正在开发一个应用程序套件 用户需要连接到服务器 并根据他们的帐户类型向他们提供一些服务 服务器将运行Linux 您能给我推荐一些用户管理 API 我可以用它来开发服务器程序吗 我所说的用户管理是指用户身份验证和其他相关功能 我更喜欢使用
  • 使用Python读取16位PNG图像文件

    我正在尝试读取以 16 位数据类型编写的 PNG 图像文件 数据应转换为 NumPy 数组 但我不知道如何读取 16位 文件 我尝试使用 PIL 和 SciPy 但它们在加载时将 16 位数据转换为 8 位数据 谁能告诉我如何从 16 位
  • 哪一个更好地处理版本控制? XmlSerializer 与 DataContractSerializer?

    需要序列化一个对象 并且反序列化时程序集版本可能发生变化 此外 对象可能会发生一些变化 XmlSerializer 不存储类型信息 如果对象发生一点变化 它也不会失败 但 XmlSerializer 无法序列化超类中的私有或内部属性 我无法
  • JAX-RS 资源生命周期性能影响

    我知道默认情况下 JAX RS 端点生命周期是每个请求一次 以便可以将请求特定信息注入到实例中 而且我们还可以制作一个端点Singleton的意思每个应用程序一次 其中请求特定信息不能注入到实例中 而是可以注入到请求的方法中 1 所以我想知
  • Struts 2:将不同的 XML 验证文件应用于一个操作方法

    我是 Struts 2 Framework 的新手 我使用 XML 验证文件来验证表单的字段 我的问题是 如何将不同的 XML 验证文件应用于一个操作的方法 我还想对不止一种操作方法使用相同的 XML 验证文件 问 如何将不同的 XML 验
  • GetHashCode() 在不同的服务器上给出不同的结果?

    我像这样声明了 C 代码行 int hashcode apple GetHashCode 在我的计算机 工作计算机和朋友的计算机上 结果是 1657858284 在开发服务器上 结果是 1548091822 有没有办法让我告诉项目始终使 G