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

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een vergelijking uitgevoerd van twee objecten van hetzelfde type en wordt een waarde geretourneerd die aangeeft of één object kleiner is dan, gelijk is aan of groter is dan de andere.

public:
 abstract int Compare(T x, T y);
public abstract int Compare(T x, T y);
abstract member Compare : 'T * 'T -> int
Public MustOverride 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.

Implementeringen

Uitzonderingen

Het type T implementeert niet de IComparable<T> algemene interface of de IComparable interface.

Voorbeelden

In het volgende voorbeeld wordt een vergelijking van Box objecten gedefinieerd die kunnen worden gebruikt in plaats van de standaard comparer. Dit voorbeeld maakt deel uit van een groter voorbeeld voor de Comparer<T> klasse.

public class BoxLengthFirst : Comparer<Box>
{
    // Compares by Length, Height, and Width.
    public override int Compare(Box x, Box y)
    {
        if (x.Length.CompareTo(y.Length) != 0)
        {
            return x.Length.CompareTo(y.Length);
        }
        else if (x.Height.CompareTo(y.Height) != 0)
        {
            return x.Height.CompareTo(y.Height);
        }
        else if (x.Width.CompareTo(y.Width) != 0)
        {
            return x.Width.CompareTo(y.Width);
        }
        else
        {
            return 0;
        }
    }
}
type BoxLengthFirst() =
    inherit Comparer<Box>()

    // Compares by Length, Height, and Width.
    override _.Compare(x: Box, y: Box) =
        if x.Length.CompareTo y.Length <> 0 then
            x.Length.CompareTo y.Length
        elif x.Height.CompareTo y.Height <> 0 then
            x.Height.CompareTo y.Height
        elif x.Width.CompareTo y.Width <> 0 then
            x.Width.CompareTo y.Width
        else
            0
Public Class BoxLengthFirst
    Inherits Comparer(Of Box)
    ' Compares by Length, Height, and Width.
    Public Overrides Function Compare(ByVal x As Box, ByVal y As Box) As Integer
        If x.Length.CompareTo(y.Length) <> 0 Then
            Return x.Length.CompareTo(y.Length)
        ElseIf x.Height.CompareTo(y.Height) <> 0 Then
            Return x.Height.CompareTo(y.Height)
        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.

Notities voor uitvoerders

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.

Zie de System.Globalization naamruimte en globalisatie en lokalisatie voor informatie over cultuurspecifieke vergelijkingen.

Van toepassing op

Zie ook