Partage via


Comparer<T>.Compare(T, T) Méthode

Définition

En cas de substitution dans une classe dérivée, effectue une comparaison de deux objets du même type et retourne une valeur indiquant si l'un est inférieur, égal ou supérieur à l'autre.

public:
 abstract int Compare(T x, T y);
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

Paramètres

x
T

Premier objet à comparer.

y
T

Deuxième objet à comparer.

Retours

Entier signé qui indique les valeurs relatives de x et y, comme indiqué dans le tableau suivant.

Value Signification
Inférieure à zérox est inférieur à y.
Zérox est égal à y.
Supérieure à zérox est supérieur à y.

Implémente

Exceptions

Le type T n'implémente pas l'interface générique IComparable<T> ni l'interface IComparable.

Exemples

L’exemple suivant définit un comparateur d’objets Box qui peuvent être utilisés au lieu du comparateur par défaut. Cet exemple fait partie d’un exemple plus grand fourni pour la Comparer<T> classe .

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;
        }
    }
}
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

Remarques

Implémentez cette méthode pour fournir une comparaison d’ordre de tri personnalisée pour le type T.

Notes pour les responsables de l’implémentation

La comparaison null avec n’importe quel type de référence est autorisée et ne génère pas d’exception. Une référence null est considérée comme inférieure à toute référence qui n’est pas null.

Pour plus d’informations sur les comparaisons propres à la culture, consultez l’espace System.Globalization de noms et Globalisation et Localisation.

S’applique à

Voir aussi