什么是GetHashCode方法?

时间:2011-04-28 21:37:01

标签: .net

字符串对象的GetHashCode方法是什么?

这与计算某些哈希码时的相同吗?但是GetHashCode返回int,不应该返回一个字节数组吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

应返回的内容取决于哈希的大小。如果散列可以用相对较小的32位大小来实现其目的,那么将其作为int返回具有实际意义。在计算crc32校验和时,这也是(我认为它仍然是)常见的,顾名思义它是32位长。

在其他答案中提到的.NET文档中解释了.NET中哈希的用途。简而言之,哈希在.NET中用于:

  • 粗略地比较两个对象是否相等(如果散列不匹配,你知道它们不相等)
  • 将哈希表放入一个
  • 时,将对象分散在哈希表的长度上

答案 1 :(得分:0)

这将告诉您哈希码的用途:

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

  

哈希码是一个数值   用于识别期间的对象   平等测试。它也可以作为   一个对象的索引   集合。

请注意,Object.GetHashCode的默认实现返回一个整数。散列不一定必须将字节数组返回为散列。

这将告诉你字符串哈希码:

http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx