Multilevel Sorting with IComparable and IComparer: Listing 5.

The SortByPopulationName subclass.

public class SortByPopulationName : IComparer<City>
  public int Compare(City c1, City c2)
    if (c1.population == c2.population &&
        String.Compare(, == 0)
      return 0;
    else if (c1.population > c2.population)
      return 1;
    else if (c1.population == c2.population &&
      String.Compare(, > 0)
      return 1;
      return -1;

About the Author

Dr. James McCaffrey works for Microsoft Research in Redmond, Wash. He has worked on several Microsoft products including Azure and Bing. James can be reached at [email protected].

comments powered by Disqus


.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events