Comparer<T>.Compare(T, T) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Saat ditimpa di kelas turunan, melakukan perbandingan dua objek dengan jenis yang sama dan mengembalikan nilai yang menunjukkan apakah satu objek kurang dari, sama dengan, atau lebih besar dari objek lainnya.
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
Parameter
- x
- T
Objek pertama yang dibandingkan.
- y
- T
Objek kedua untuk dibandingkan.
Mengembalikan
Bilangan bulat bertanda tangan yang menunjukkan nilai x
relatif dan y
, seperti yang diperlihatkan dalam tabel berikut.
Nilai | Makna |
---|---|
Kurang dari nol | x kurang dari y .
|
Nol | x sama dengan y .
|
Lebih besar dari nol | x lebih besar dari y .
|
Penerapan
Pengecualian
Jenis T
tidak mengimplementasikan IComparable<T> antarmuka generik atau IComparable antarmuka.
Contoh
Contoh berikut mendefinisikan perbandingan Box
objek yang dapat digunakan alih-alih perbandingan default. Contoh ini adalah bagian dari contoh yang lebih besar yang disediakan untuk Comparer<T> kelas .
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
Keterangan
Terapkan metode ini untuk menyediakan perbandingan urutan pengurutan yang disesuaikan untuk jenis T
.
Catatan Bagi Implementer
Membandingkan null
dengan jenis referensi apa pun diizinkan dan tidak menghasilkan pengecualian. Referensi null dianggap kurang dari referensi apa pun yang bukan null.
Untuk informasi tentang perbandingan khusus budaya, lihat System.Globalization namespace layanan dan Globalisasi dan Pelokalan.