public override bool Equals(object obj) { if (obj == null) { return(false); } if (ReferenceEquals(obj, this)) { return(true); } if (obj.GetType() != GetType()) { return(false); } Person person = (Person)obj; return(Rolle.Equals(person.Rolle) && Vorname.Equals(person.Vorname) && Nachname.Equals(person.Nachname) && Adresse.Equals(person.Adresse) && Geburtsdatum.Equals(person.Geburtsdatum)); }
public override bool Equals(object obj) { // Anforderungen: /* Gleicher Typ ? * Eines null ? * Referenzvergleich * Wertevergleich falls Referenzvergleich fehlschlägt */ if (obj is null) { throw new ArgumentNullException(); } if (obj is Person p) // obj.GetType() == typeof(Person) { //Referenzvergleich if (obj == this) { return(true); } else // Referenzen nicht gleich, stattdessen werte vergleichen { // "Hässliche" Variante ohne GetHashcode(); return(Vorname.Equals(p.Vorname) && Nachname.Equals(p.Nachname) && Alter.Equals(p.Alter) && Kontostand.Equals(p.Kontostand)); } } else { return(false); } }
public override bool Equals(object obj) { if (this == obj) { return(true); } if (obj == null || GetType() != obj.GetType()) { return(false); } Person person = (Person)obj; if (!Vorname.Equals(person.Vorname)) { return(false); } if (!Nachname.Equals(person.Nachname)) { return(false); } return(Geburtstag.Equals(person.Geburtstag)); }