Überschreiben von GetHashCode ()

ImDieser BeitragJon Skeet erwähnte, dass er normalerweise diese Art von Algorithmus zum Überschreiben verwendetGetHashCode ().

public override int GetHashCode()
{
  unchecked // Overflow is fine, just wrap
  {
    int hash = 17;
    // Suitable nullity checks etc, of course :)
    hash = hash * 23 + Id.GetHashCode();
    return hash;
  }
}

Jetzt habe ich versucht, dies zu verwenden, aber Resharper sagt mir, dass die MethodeGetHashCode () sollte Hashing nur mit schreibgeschützten Feldern sein (es kompiliert aber gut). Was wäre eine gute Übung, denn momentan kann ich meine Felder nicht wirklich als schreibgeschützt kennzeichnen?

Ich habe versucht, diese Methode mit Resharper zu generieren. Hier ist das Ergebnis.

public override int GetHashCode()
{
  return base.GetHashCode();
}

Das trägt nicht viel bei, um ehrlich zu sein ...

Antworten auf die Frage(3)

Ihre Antwort auf die Frage