IComparer<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.
Compare deux objets et retourne une valeur indiquant si le premier est inférieur, égal ou supérieur au second.
public:
int Compare(T x, T y);
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
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 .
|
Exemples
L’exemple suivant implémente l’interface IComparer<T> pour comparer des objets de type Box
en fonction de leurs dimensions. Cet exemple fait partie d’un exemple plus grand fourni pour la Comparer<T> classe .
// 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
Remarques
Implémentez cette méthode pour fournir une comparaison d’ordre de tri personnalisée pour le type T
.
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.