Compartir a través de


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

Definición

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 cerox es menor que y.
Cerox es igual que y.
Mayor que cerox 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.

Se aplica a

Consulte también