多くの皆さんと同じように、私は ReSharper を使用して開発プロセスを高速化しています。クラスの等価メンバーをオーバーライドするために使用すると、生成されるコード生成はGetHashCode()
次のようになります。
public override int GetHashCode()
{
unchecked
{
int result = (Key != null ? Key.GetHashCode() : 0);
result = (result * 397) ^ (EditableProperty != null ? EditableProperty.GetHashCode() : 0);
result = (result * 397) ^ ObjectId;
return result;
}
}
もちろん、そこには私自身のメンバーもいますが、私が知りたいのは、なぜ 397 なのかということです。
- 編集:だから私の質問は、素数である以外に397の素数について「特別な」何かがあるのでしょうか?