IComparer<T>.Compare(T, T) Yöntem

Tanım

İki nesneyi karşılaştırır ve birinin diğerinden küçük, buna eşit veya ondan büyük olduğunu belirten bir değer döndürür.

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

Parametreler

x
T

Karşılaştırma yapılacak ilk nesne.

y
T

Karşılaştırma yapılacak ikinci nesne.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi ve ygöreli değerlerini gösteren işaretli bir tamsayıx.

Değer Anlamı
Sıfırdan küçükx değerinden küçüktür y.
Sıfırx eşittir y.
Sıfırdan büyükx değerinden büyüktür y.

Örnekler

Aşağıdaki örnek, türündeki IComparer<T>Box nesneleri boyutlarına göre karşılaştırmak için arabirimini uygular. Bu örnek, sınıfı için Comparer<T> sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

türü Tiçin özelleştirilmiş bir sıralama düzeni karşılaştırması sağlamak üzere bu yöntemi uygulayın.

Herhangi bir başvuru türüyle karşılaştırmaya null izin verilir ve özel durum oluşturmaz. Null başvuru, null olmayan herhangi bir başvurudan daha küçük olarak kabul edilir.

Şunlara uygulanır

Ayrıca bkz.