IComparer<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.
İ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 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 .
|
Ö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ü T
iç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.