将字符串.GetHashCode()返回负值

本文关键字:返回 字符串 GetHashCode | 更新日期: 2023-09-27 18:22:13

我尝试了一批随机字符串,得到的所有值都是正的,但我想知道:

String.GetHashCode()会返回负数还是0?

由于返回值是int,所以我想它可能是,所以如果是这样的话,我必须更改我的逻辑。

如果您有答案或有一些官方来源,请分享

将字符串.GetHashCode()返回负值

是的,它可以返回负值。

不能有任何适用于GetHashCode()值的逻辑
GetHashCode()不能保证是唯一的,并且可以在不同的构建之间更改。

GetHashCode()必须被视为一个不透明的令牌,可以与其他哈希组合或被修改为哈希表。

它可以返回负值(基于msdn):
http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx