this例では、ポスターがgetハッシュコードメソッドをオーバーライドしました。私は、返されたオブジェクトに対してより良いハッシュ値を提供し、衝突の数を減らし、したがって、Equals()
を呼び出す必要がある機会を減らすために、これが行われたことを理解しています。C#GetHashCodeメソッドをオーバーライドする
私が知りたいのですが何を、どのようにこのアルゴリズムが計算されている。
return 17 + 31 * CurrentState.GetHashCode() + 31 * Command.GetHashCode();
は、問題の番号が選ばれたという特別な理由はありますか?私はそれに入れるために自分の数字を選んだだけだろうか?
MS C#コンパイラ(anon-types用)は、-1134271262のシードと-1521134295の乗数を使用します。ちょうど ' –
@MarcGravell:あなたはそれのソースがありますか? – DeepSpace101
@ DeepSpace101 ILDASM; p –