Comparer<T>.Compare(T, T) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při přepsání v odvozené třídě provede porovnání dvou objektů stejného typu a vrátí hodnotu označující, zda je jeden objekt menší než, roven nebo větší než druhý.
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
Parametry
- x
- T
První objekt k porovnání
- y
- T
Druhý objekt k porovnání
Návraty
Celé číslo se znaménkem, které označuje relativní hodnoty x
a , y
jak je znázorněno v následující tabulce.
Hodnota | Význam |
---|---|
Menší než nula | x je menší než y .
|
Žádnou | x rovná se y .
|
Větší než nula | x je větší než y .
|
Implementuje
Výjimky
Typ T
neimplementuje obecné IComparable<T> rozhraní ani IComparable rozhraní.
Příklady
Následující příklad definuje porovnávací nástroj Box
objektů, které lze použít místo výchozího porovnávače. Tento příklad je součástí většího příkladu Comparer<T> pro třídu.
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
Poznámky
Implementujte tuto metodu, která poskytuje přizpůsobené porovnání pořadí řazení pro typ T
.
Poznámky pro implementátory
Porovnání null
s libovolným referenčním typem je povoleno a nevygeneruje výjimku. Nulový odkaz je považován za menší než jakýkoli odkaz, který není null.
Informace o porovnáních specifických pro jazykovou verzi najdete v System.Globalization tématech Obor názvů a Globalizace a lokalizace.