当使用该GetHashCode()方法获取字符串的哈希码时,它是否有可能返回零或者使用的算法是否保证?
我问的原因是我有一个用例,我需要为空字符串发明一个哈希,而我正在考虑使用零而不是散列一些常量字符串.如果我这样做,我有可能发生碰撞(除非碰撞总是可能的事实)
没有办法明确回答这个问题.String.GetHashCode()的行为被记录为未定义,并且可以在框架版本之间进行更改,并且在32位和64位系统之间有所不同.
如果您选择其他值,则可能会发生碰撞.零将是一个非常合理的默认值.
该Nullable.GetHashCode() ,如果它储存空值,返回零的哈希码有一些先例返回0.
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |