GetHashCodes - 如何以及何时使用它?

时间:2013-02-20 10:59:10

标签: c# hashcode

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

1 个答案:

答案 0 :(得分:1)

我喜欢使用this implementation

public override int GetHashCode()
{
    unchecked
    {
        int hash = 17;
        // Check for null
        hash = hash * 29 + field1.GetHashCode();
        hash = hash * 29 + field2.GetHashCode();
        return hash;
    }
}