public int CompareTo(object obj) { if (obj == null || obj.GetType() != GetType()) { return(-1); } Adresse adresse = (Adresse)obj; int strasseEqualRate = Strasse.CompareTo(adresse.Strasse); switch (strasseEqualRate) { case 0: int hausnummerEqualRate = Hausnummer.CompareTo(adresse.Hausnummer); switch (hausnummerEqualRate) { case 0: int plzEqualRate = Postleitzahl.CompareTo(adresse.Postleitzahl); switch (plzEqualRate) { case 0: return(Ort.CompareTo(adresse.Ort)); default: return(plzEqualRate); } default: return(hausnummerEqualRate); } default: return(strasseEqualRate); } }
public override bool Equals(object obj) { Adresse adresse = (Adresse)obj; if (obj == null) { return(false); } if (ReferenceEquals(obj, this)) { return(true); } if (obj.GetType() != GetType()) { return(false); } return(Strasse.Equals(adresse.Strasse) && Hausnummer.Equals(adresse.Hausnummer) && Postleitzahl.Equals(adresse.Postleitzahl) && Ort.Equals(adresse.Ort)); }