GetHashCode冲突

时间:2013-02-03 06:52:33

标签: c# hashcode gethashcode

知道使用HashCode作为唯一标识符不是很聪明,

但是假设我在同一个HashCode上有两个变量是我能得到它们的唯一方法,

我该如何区分?

2 个答案:

答案 0 :(得分:1)

文档中包含了相关内容。假设您只有哈希码:

  

GetHashCode方法的默认实现没有   保证不同对象的唯一返回值。而且,   .NET Framework不保证默认的实现   GetHashCode方法,它返回的值将是相同的   不同版本的.NET Framework。因此,默认   不得将此方法的实现用作唯一对象   用于散列目的的标识符。

来自http://msdn.microsoft.com/en-us/library/system.object.gethashcode.aspx

答案 1 :(得分:1)

您应该能够确定引用是否相等。

尝试使用ReferenceEquals函数检查是否有对同一对象的引用。