Comparer<T>.Compare(T, T) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cuando se reemplaza en una clase derivada, realiza una comparación de dos objetos del mismo tipo y devuelve un valor que indica si uno es menor, igual o mayor que el otro.
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
Parámetros
- x
- T
Primer objeto que se va a comparar.
- y
- T
Segundo objeto que se va a comparar.
Devoluciones
Entero con signo que indica los valores relativos de x
y y
, como se muestra en la tabla siguiente.
Valor | Significado |
---|---|
Menor que cero | x es menor que y .
|
Cero | x es igual que y .
|
Mayor que cero | x es mayor que y .
|
Implementaciones
Excepciones
El tipo T
no implementa la interfaz genérica IComparable<T> o la interfaz IComparable.
Ejemplos
En el ejemplo siguiente se define un comparador de Box
objetos que se pueden usar en lugar del comparador predeterminado. Este ejemplo forma parte de un ejemplo más grande proporcionado para la Comparer<T> clase .
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
Comentarios
Implemente este método para proporcionar una comparación de criterio de ordenación personalizada para el tipo T
.
Notas a los implementadores
null
Se permite comparar con cualquier tipo de referencia y no genera una excepción. Se considera que una referencia nula es menor que cualquier referencia que no sea NULL.
Para obtener información sobre las comparaciones específicas de la referencia cultural, consulte el espacio de nombres y globalización System.Globalizationy la localización.