Warum wird '397' für die Überschreibung von ReSharper GetHashCode verwendet?
Wie viele von Ihnen benutze ich ReSharper, um den Entwicklungsprozess zu beschleunigen. Wenn Sie es verwenden, um die Gleichheits-Member einer Klasse zu überschreiben, sieht das Code-Gen, das es für GetHashCode () erzeugt, folgendermaßen aus:
<code> 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; } } </code>
Natürlich habe ich einige meiner eigenen Mitglieder, aber ich möchte wissen, warum 397?
EDIT: Also meine Frage wäre besser formuliert, gibt es etwas "Besonderes" an der 397-Primzahl, außer dass es eine Primzahl ist?