我在做分词模块时,对每个词分配hashcode,但是发现其值并非唯一;
比如 "公出"和"古色"这两个词得到的值都是 6237203.

为什么会出现这样的问题呢,其实在MSDN里面有解释:

备注

GetHashCode 的行为取决于它的实现,此实现可能会从一个公共语言运行库版本更改为另一个版本。原因可能是为了提高 GetHashCode 的性能。如果要求 GetHashCode 的行为不变,请使用您自己的、确定不会改变的实现来重写 GetHashCode 的运行库实现。

没错就是因为他为了优化速度,所以使用了不同的算法,导致了同一值的出现,解决方案就如他说得,自己写一个固定算法了.

各位兄弟,以前如果用了这个方法,可就得改一改了.GetHashCode 方法 并不能保证值唯一

 

 程序猿们,我也跟风开了网店,主要经营土特产,云南核桃,四川正宗土鸡蛋。有需要的就支持一下小店哈  七彩山川美食(http://qcsc.taobao.com) 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-24
  • 2021-05-06
  • 2021-11-28
  • 2021-06-25
猜你喜欢
  • 2022-12-23
  • 2022-02-27
  • 2021-11-06
  • 2022-12-23
  • 2021-08-13
  • 2022-01-19
  • 2021-05-19
相关资源
相似解决方案