IComparer<T>.Compare Method (T, T)
Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
Assembly: mscorlib (in mscorlib.dll)
Return Value
Type: System.Int32A signed integer that indicates the relative values of x and y, as shown in the following table.
Value | Meaning |
|---|---|
Less than zero | x is less than y. |
Zero | x equals y. |
Greater than zero | x is greater than y. |
Implement this method to provide a customized sort order comparison for type T.
Comparing null with any reference type is allowed and does not generate an exception. A null reference is considered to be less than any reference that is not null.
The following example implements the IComparer<T> interface to compare objects of type Box according to their dimensions. This example is part of a larger example provided for the Comparer<T> class.
// This class is not demonstrated in the Main method // and is provided only to show how to implement // the interface. It is recommended to derive // from Comparer<T> instead of implementing IComparer<T>. public class BoxComp : IComparer<Box> { // Compares by Height, Length, and Width. public int Compare(Box x, Box y) { if (x.Height.CompareTo(y.Height) != 0) { return x.Height.CompareTo(y.Height); } else if (x.Length.CompareTo(y.Length) != 0) { return x.Length.CompareTo(y.Length); } else if (x.Width.CompareTo(y.Width) != 0) { return x.Width.CompareTo(y.Width); } else { return 0; } } }
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1