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

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, aynı türdeki iki nesnenin karşılaştırmasını yapar ve bir nesnenin diğerinden küçük, buna eşit veya ondan büyük olduğunu belirten bir değer döndürür.

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

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.

Uygulamalar

Özel durumlar

TürT, genel arabirimi veya IComparable arabirimi uygulamazIComparable<T>.

Örnekler

Aşağıdaki örnek, varsayılan karşılaştırıcı Box yerine kullanılabilecek nesnelerin karşılaştırıcısını tanımlar. Bu örnek, sınıfı için Comparer<T> sağlanan daha büyük bir örneğin parçasıdır.

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

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.

Uygulayanlara Notlar

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.

Kültüre özgü karşılaştırmalar hakkında bilgi için bkz System.Globalization . ad alanı ve Genelleştirme ve Yerelleştirme.

Şunlara uygulanır

Ayrıca bkz.