【发布时间】:2012-03-16 06:43:15
【问题描述】:
MSDNsays:
“GetHashCode方法的默认实现不保证不同对象的返回值唯一。”
但另一方面,当我使用 sn.exe 工具时,它会确保使用唯一的哈希值来创建强名称程序集。如果我没记错的话,程序集的所有内容都会被转换为哈希值。
那么,为什么 GetHashCode() 的默认实现不使用 sn.exe 使用的相同算法为对象创建唯一的哈希值并期望开发人员实现它?
【问题讨论】:
-
你的意思是sn.exe?
-
这根本没有意义。
int不能保证唯一性,它远太短了。并且加密哈希比您想要的GetHashCode()要贵得多。并且GetHashCode()必须匹配Equals。因此,当您覆盖Equals时,无法覆盖它。 -
SK.exe到底是什么?即使您的意思是 Sn.exe 与 GetHashCode 有什么关系?
-
@Bobby:谢谢;我已纠正错字。另一方面,我并没有说两者之间有关系。亨克和汉斯似乎明白我的意思。
标签: c# .net hash gethashcode