/// <summary> /// Funkcja ustawiająca prawidłowy pożądek obiektów klasy Person /// </summary> /// <param name="obj">objekt z którym poruwnuje aktualny obiekt (this)</param> /// <returns></returns> public int CompareTo(object obj) { Person p = obj as Person; // pierwsze pożądkujemy według nazwisk if (LastName != p.LastName) { return(LastName.CompareTo(p.LastName)); } // następnie pożądkowanie według imion if (FirstName != p.FirstName) { return(FirstName.CompareTo(p.FirstName)); } if (Age != p.Age) { return(Age.CompareTo(p.Age)); } if (City != p.City) { return(City.CompareTo(p.City)); } if (Email != p.Email) { return(Email.CompareTo(p.Email)); } // na samym końcu sortowanie według numerów domu return(HomeNumber.CompareTo(p.HomeNumber)); }
/// <summary> /// Implementacja interfejsu IComparable w celu /// prawidłowego poążdkowania elemetów w listach sortowania /// </summary> /// <param name="obj">obiekt z którym porównuje aktulany obiekt (this)</param> /// <returns> /// [ < 0] - bieżące wystąpienie poprzedza obiekt /// [ 0] - bieżące wystąpienie występuje w tym samym pożądku sortowania /// [ > 0] - bieżące wystąpienie występuje po obiekcie określonym przez CompareTo /// </returns> public int CompareTo(object obj) { Contact otherContact = obj as Contact; // na początku kontakty są sortowane alfabetycznie po miejscowości if (otherContact.City != null) { return(City.CompareTo(otherContact.City)); } if (otherContact.Street != null) { return(Street.CompareTo(otherContact.Street)); } if (otherContact.PostOffice != null) { return(PostOffice.CompareTo(otherContact.PostOffice)); } if (otherContact.Email != null) { return(Email.CompareTo(otherContact.Email)); } if (otherContact.Phone != null) { return(Phone.CompareTo(otherContact.Phone)); } return(HomeNumber.CompareTo(otherContact.HomeNumber)); }
public string GetHomePhoneNumber() { if (!String.IsNullOrEmpty(HomeNumber)) { return (HomeNumber.Trim().Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace("+", "").Replace(".", "")); } return(string.Empty); }
public override string ToString() { var result = HomeNumber.ToString(); if (Housing >= 0) { result += "k " + Housing; } if (AfterSlash >= 0) { result += $" ({AfterSlash})"; } return(result); }