Multilevel Sorting with IComparable and IComparer: Listing 3.

The CompareTo method.

public int CompareTo(City other)
{
if (String.Compare(this.name, other.name) == 0 &&
    this.population == other.population &&
    RegionCompare(this.region, other.region) == 0)
  return 0;
else if (this.population > other.population)
  return 1;
else if (this.population == other.population &&
  RegionCompare(this.region, other.region) > 0)
  return 1;
else if (this.population == other.population &&
  RegionCompare(this.region, other.region) == 0 &&
  String.Compare(this.name, other.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

  • C# Language Server Revamps VS 2022 Razor Editor for ASP.NET Core

    Microsoft is touting new capabilities in ASP.NET Core web development in Visual Studio 2022 thanks to a new Razor editor powered by a Razor Language Server.

  • 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.

Upcoming Events