Dlaczego „397” jest używane do nadpisania ReSharper GetHashCode?
Podobnie jak wielu z was, używam ReSharper do przyspieszenia procesu rozwoju. Kiedy używasz go do nadpisania elementów równości klasy, gen kodu, który tworzy dla GetHashCode () wygląda tak:
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;
}
}
Oczywiście mam tam swoich własnych członków, ale chcę wiedzieć, dlaczego 397?
EDYCJA: Więc moje pytanie byłoby lepiej sformułowane, czy jest coś „specjalnego” w liczbie pierwszej 397 poza liczbą pierwszą?