多くの皆さんと同様に、私は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の素数が素数であること以外に「特別な」何かがあるので、より適切に表現されますか?