Comparer<T>.Compare(T, T) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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üçük |
x değerinden küçüktür y.
|
| Sıfır |
x eşittir y.
|
| Sıfırdan büyük |
x 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.