Defines a method that a type implements to compare two objects.
Public Interface IComparer(Of In T)
The type of objects to compare.
This type parameter is contravariant. That is, you can use either the type you specified or any type that is less derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.
The IComparer<T> type exposes the following members.
Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
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
Implements IComparer(Of Box)
' Compares by Height, Length, and Width.
Public Function Compare(ByVal x As Box, ByVal y As Box) As Integer Implements _
If x.Height.CompareTo(y.Height) <> 0 Then
ElseIf x.Length.CompareTo(y.Length) <> 0 Then
ElseIf x.Width.CompareTo(y.Width) <> 0 Then
Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
.NET Framework Client Profile
Supported in: 4, 3.5 SP1
Supported in: 3.0, 2.0, 1.0
.NET for Windows Phone apps
Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Portable Class Library
Supported in: Portable Class Library