IComparer<T>.Compare(T, T) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vergelijkt twee objecten en retourneert een waarde die aangeeft of één kleiner is dan, gelijk is aan of groter is dan de andere.
public:
int Compare(T x, T y);
public int Compare(T x, T y);
abstract member Compare : 'T * 'T -> int
Public Function Compare (x As T, y As T) As Integer
Parameters
- x
- T
Het eerste object dat moet worden vergeleken.
- y
- T
Het tweede object dat moet worden vergeleken.
Retouren
Een ondertekend geheel getal dat de relatieve waarden van x en y, zoals wordt weergegeven in de volgende tabel, aangeeft.
| Waarde | Betekenis |
|---|---|
| Kleiner dan nul |
x is kleiner dan y.
|
| Nul |
x is ygelijk aan .
|
| Groter dan nul |
x is groter dan y.
|
Voorbeelden
In het volgende voorbeeld wordt de IComparer<T> interface geïmplementeerd om objecten van het type Box te vergelijken op basis van hun dimensies. Dit voorbeeld maakt deel uit van een groter voorbeeld voor de Comparer<T> klasse.
// 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;
}
}
}
' 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 _
IComparer(Of Box).Compare
If x.Height.CompareTo(y.Height) <> 0 Then
Return x.Height.CompareTo(y.Height)
ElseIf x.Length.CompareTo(y.Length) <> 0 Then
Return x.Length.CompareTo(y.Length)
ElseIf x.Width.CompareTo(y.Width) <> 0 Then
Return x.Width.CompareTo(y.Width)
Else
Return 0
End If
End Function
End Class
Opmerkingen
Implementeer deze methode om een aangepaste sorteervolgordevergelijking voor het type Tte bieden.
Vergelijking null met een verwijzingstype is toegestaan en genereert geen uitzondering. Een null-verwijzing wordt beschouwd als kleiner dan een verwijzing die niet null is.