IComparer<T>.Compare(T, T) Methode

Definitie

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.

Van toepassing op

Zie ook