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

Definition

Jämför två objekt och returnerar ett värde som anger om det ena är mindre än, lika med eller större än det andra.

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

Parametrar

x
T

Det första objektet som ska jämföras.

y
T

Det andra objektet att jämföra.

Returer

Ett signerat heltal som anger de relativa värdena x för och y, enligt följande tabell.

Värde Menande
Mindre än noll x är mindre än y.
Noll x är lika med y.
Större än noll x är större än y.

Exempel

I följande exempel implementeras IComparer<T> gränssnittet för att jämföra objekt av typen Box efter deras dimensioner. Det här exemplet är en del av ett större exempel som tillhandahålls Comparer<T> för klassen.

// 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

Kommentarer

Implementera den här metoden för att tillhandahålla en anpassad sorteringsordningsjämförelse för typen T.

Det är tillåtet att null jämföra med alla referenstyper och genererar inget undantag. En null-referens anses vara mindre än en referens som inte är null.

Gäller för

Se även