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(c1.name, c2.name) == 0)
      return 0;
    else if (c1.population > c2.population)
      return 1;
    else if (c1.population == c2.population &&
      String.Compare(c1.name, c2.name) > 0)
      return 1;
    else
      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

Featured

  • Windows Forms Lives On in .NET 6

    Windows Forms would like you to know that the reports of its death are greatly exaggerated.

  • Uno Platform 4.0 Adds Visual Studio Code Plugin

    Uno Platform 4.0 is out, highlighted by a new extension for working in Microsoft's Visual Studio Code editor.

  • .NET 6 Support Leads New GA Features in Azure Functions Fall Update

    Microsoft announced several new features that are now generally available in the fall update of Azure Functions, used for event-driven serverless computing in the cloud.

  • Teams Toolkit 3.0 Boosts Multiple Developer Collaboration

    Microsoft's Teams Toolkit 3.0 has debuted with several new features, including better multiple developer collaboration and improved multi-environment management.

Upcoming Events