假设我们double
在 C# 中有一个值。
是否有可能在不同的计算机/Windows/体系结构上GetHashCode()
为此返回不同的整数值?double
public unsafe override int GetHashCode() {
double d = m_value;
if (d == 0) {
// Ensure that 0 and -0 have the same hash code
return 0;
}
long value = *(long*)(&d);
return unchecked((int)value) ^ ((int)(value >> 32));
}