2

オーバーライドされたGetHashCodeメソッドはどのように見えるべきですか? (たとえば、3 つの文字列プロパティを含む純粋なモデル クラスの場合) そのようなメソッドを記述する際に共通の原則/スキーマはありますか? どこで正確に使用されていますか (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 に答える