
Updated: May 2010
When overridden in a derived class, performs a comparison of two objects of the same type and returns a value indicating whether one object 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. |
Implements
IComparer(Of T).Compare(T, T)| Exception | Condition |
|---|---|
| ArgumentException | Type T does not implement either the System.IComparable(Of T) generic interface or the System.IComparable interface. |
Implement this method to provide a customized sort order comparison for type T.
Notes to ImplementersComparing Nothing 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.
For information on culture-specific comparisons, see the System.Globalization namespace and Encoding and Localization.
The following example defines a comparer of Box objects that can be used instead of the default comparer. This example is part of a larger example provided for the Comparer(Of T) class.
Public Class BoxLengthFirst Inherits Comparer(Of Box) ' Compares by Length, Height, and Width. Public Overrides Function Compare(ByVal x As Box, ByVal y As Box) As Integer If x.Length.CompareTo(y.Length) <> 0 Then Return x.Length.CompareTo(y.Length) ElseIf x.Height.CompareTo(y.Height) <> 0 Then Return x.Height.CompareTo(y.Height) ElseIf x.Width.CompareTo(y.Width) <> 0 Then Return x.Width.CompareTo(y.Width) Else Return 0 End If End Function End Class
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.