Compartir a través de


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

Definición

Compara dos objetos y devuelve un valor que indica si uno de ellos es menor, igual o mayor que el otro.

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

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.

Ejemplos

En el ejemplo siguiente se implementa la IComparer<T> interfaz para comparar objetos de tipo Box según sus dimensiones. Este ejemplo forma parte de un ejemplo más grande proporcionado para la Comparer<T> clase .

// 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

Comentarios

Implemente este método para proporcionar una comparación de criterio de ordenación personalizada para el tipo T.

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.

Se aplica a

Consulte también