我们有以下代码:
int i = 1;
Console.WriteLine(i.GetHashCode()); // outputs => 1
Run Code Online (Sandbox Code Playgroud)
除了sbyte和short之外,C#中的所有整数类型都是有意义的.那是:
sbyte i = 1;
Console.WriteLine(i.GetHashCode()); // outputs => 257
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
因为该方法(SByte.GetHashCode)的来源是
public override int GetHashCode()
{
return (int)this ^ ((int)this << 8);
}
Run Code Online (Sandbox Code Playgroud)
至于为什么,微软有人知道......
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |