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

Definição

Quando substituído em uma classe derivada, executa uma comparação de dois objetos do mesmo tipo e retorna um valor que indica se um objeto é menor que, igual a ou maior que o outro.When overridden in a derived class, performs a comparison of two objects of the same type and returns a value indicating whether one object is less than, equal to, or greater than the other.

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

O primeiro objeto a ser comparado.The first object to compare.

y

O segundo objeto a ser comparado.The second object to compare.

Retornos

Um inteiro assinado que indica os valores relativos de x e y, conforme mostrado na tabela a seguir.A signed integer that indicates the relative values of x and y, as shown in the following table.

ValorValue SignificadoMeaning
Menor que zeroLess than zero x é menor que y.x is less than y.
ZeroZero x é igual a y.x equals y.
Maior que zeroGreater than zero x é maior que y.x is greater than y.

Implementações

Exceções

O tipo de T não implementa a interface genérica IComparable<T> ou a interface IComparable.Type T does not implement either the IComparable<T> generic interface or the IComparable interface.

Exemplos

O exemplo a seguir define um comparador de Box objetos que podem ser usados em vez do comparador padrão.The following example defines a comparer of Box objects that can be used instead of the default comparer. Este exemplo é parte de um exemplo maior fornecido para o Comparer<T> classe.This example is part of a larger example provided for the Comparer<T> class.

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

Comentários

Implemente este método para fornecer uma comparação de ordem para o tipo de classificação T.Implement this method to provide a customized sort order comparison for type T.

Notas aos Herdeiros

Comparando null com qualquer referência de tipo é permitido e não gera uma exceção.Comparing null with any reference type is allowed and does not generate an exception. Uma referência nula é considerada menor do que qualquer referência que não seja nula.A null reference is considered to be less than any reference that is not null.

Para obter informações sobre comparações específicas da cultura, consulte a System.Globalization namespace e globalização e localização.For information on culture-specific comparisons, see the System.Globalization namespace and Globalization and Localization.

Aplica-se a

Veja também