2

好的覆盖GetHashCode方法应该是什么样子?(例如对于包含三个字符串属性的纯模型类)在编写此类方法时是否有任何共同的原则/模式?它到底在哪里使用(除了 HashTables/Dictionaries)?当我们比较对象相等性时,依赖哈希码是个好主意吗?

4

1 回答 1

1

我喜欢使用这个实现

public override int GetHashCode()
{
    unchecked
    {
        int hash = 17;
        // Check for null
        hash = hash * 29 + field1.GetHashCode();
        hash = hash * 29 + field2.GetHashCode();
        return hash;
    }
}
于 2013-02-20T11:04:14.383 回答