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 y
gö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ü T
iç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.