IComparer<T>.Compare(T, T) IComparer<T>.Compare(T, T) IComparer<T>.Compare(T, T) IComparer<T>.Compare(T, T) Method

Definición

Compara dos objetos y devuelve un valor que indica si uno de ellos es menor, igual o mayor que el otro.Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.

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

Primer objeto que se va a comparar.The first object to compare.

y

Segundo objeto que se va a comparar.The second object to compare.

Devoluciones

Entero con signo que indica los valores relativos de x y y, como se muestra en la tabla siguiente.A signed integer that indicates the relative values of x and y, as shown in the following table.

ValorValue SignificadoMeaning
Menor que ceroLess than zero x es menor que y.x is less than y.
CeroZero x es igual que y.x equals y.
Mayor que ceroGreater than zero x es mayor que y.x is greater than y.

Ejemplos

En el ejemplo siguiente se implementa el IComparer<T> interfaz para comparar los objetos de tipo Box según sus dimensiones.The following example implements the IComparer<T> interface to compare objects of type Box according to their dimensions. Este ejemplo forma parte de un ejemplo más extenso proporcionado para el Comparer<T> clase.This example is part of a larger example provided for the Comparer<T> class.

// 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 personalizada para el tipo de comparación de ordenación T.Implement this method to provide a customized sort order comparison for type T.

Comparar null con cualquier referencia de tipo está permitido y no genera una excepción.Comparing null with any reference type is allowed and does not generate an exception. Una referencia nula se considera menor que cualquier referencia que no es null.A null reference is considered to be less than any reference that is not null.

Se aplica a

Consulte también: