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

Definition

Vergleicht zwei Objekte und gibt einen Wert zurück, der angibt, ob ein Wert niedriger, gleich oder größer als der andere Wert ist.Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.

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

Parameter

x

Das erste zu vergleichende Objekt.The first object to compare.

y

Das zweite zu vergleichende Objekt.The second object to compare.

Gibt zurück

Eine ganze Zahl mit Vorzeichen, die die relativen Werte von x und y angibt, wie in der folgenden Tabelle veranschaulicht.A signed integer that indicates the relative values of x and y, as shown in the following table.

WertValue BedeutungMeaning
Kleiner als 0 (null)Less than zero x ist kleiner als y.x is less than y.
ZeroZero x ist gleich y.x equals y.
Größer als 0 (null)Greater than zero x ist größer als y.x is greater than y.

Beispiele

Im folgenden Beispiel wird die IComparer<T> -Schnittstelle implementiert, um Box Objekte des Typs entsprechend ihren Dimensionen zu vergleichen.The following example implements the IComparer<T> interface to compare objects of type Box according to their dimensions. Dieses Beispiel ist Teil eines größeren Beispiels, das für die Comparer<T> -Klasse bereitgestellt wird.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;
        }
    }
}
' 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

Hinweise

Implementieren Sie diese Methode, um einen angepassten Sortier Reihenfolgen TVergleich für den Typ bereitzustellen.Implement this method to provide a customized sort order comparison for type T.

Der null Vergleich mit einem beliebigen Verweistyp ist zulässig und generiert keine Ausnahme.Comparing null with any reference type is allowed and does not generate an exception. Ein NULL-Verweis gilt als kleiner als jeder Verweis, der nicht NULL ist.A null reference is considered to be less than any reference that is not null.

Gilt für:

Siehe auch