Comparer<T>.Compare(T, T) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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éro | x est inférieur à y .
|
Zéro | x est égal à y .
|
Supérieure à zéro | x 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.