Как и многие из вас, я использую ReSharper для ускорения процесса разработки. Когда вы используете его для переопределения членов класса равенства, код-gen, который он создает для 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?
- EDIT: Итак, мой вопрос будет лучше сформулирован так: есть ли что-то особенное в том, что простое число 397 вне его является простым числом?