Comparer<T>.IComparer.Compare(Object, Object) Comparer<T>.IComparer.Compare(Object, Object) Comparer<T>.IComparer.Compare(Object, Object) Method

Definition

Vergleicht zwei Objekte und gibt einen Wert zurück, der angibt, ob ein Wert niedriger, gleich oder größer als der andere Wert ist.Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.

 virtual int System.Collections.IComparer.Compare(System::Object ^ x, System::Object ^ y) = System::Collections::IComparer::Compare;
int IComparer.Compare (object x, object y);
Function Compare (x As Object, y As Object) As Integer Implements IComparer.Compare

Parameter

x
Object Object Object

Das erste zu vergleichende Objekt.The first object to compare.

y
Object Object Object

Das zweite zu vergleichende Objekt.The second object to compare.

Gibt zurück

Eine ganze Zahl mit Vorzeichen, die die relativen Werte von x und y angibt, wie in der folgenden Tabelle veranschaulicht.A signed integer that indicates the relative values of x and y, as shown in the following table.

WertValue BedeutungMeaning
Kleiner als 0 (null)Less than zero x ist kleiner als y.x is less than y.
ZeroZero x ist gleich y.x equals y.
Größer als 0 (null)Greater than zero x ist größer als y.x is greater than y.

Implementiert

Ausnahmen

x oder y weist einen Typ auf, der nicht in den Typ T umgewandelt werden kann.x or y is of a type that cannot be cast to type T.

- oder --or- x und y implementieren weder die generische IComparable<T>-Schnittstelle noch die generische IComparable-Schnittstelle.x and y do not implement either the IComparable<T> generic interface or the IComparable interface.

Beispiele

Im folgenden Beispiel wird gezeigt, wie die IComparer.Compare -Methode verwendet wird, um zwei-Objekte zu vergleichen.The following example shows how to use the IComparer.Compare method to compare two objects. Dieses Beispiel ist Teil eines größeren Beispiels, das für die Comparer<T> -Klasse bereitgestellt wird.This example is part of a larger example provided for the Comparer<T> class.


// This explicit interface implementation
// compares first by the length.
// Returns -1 because the length of BoxA
// is less than the length of BoxB.
BoxLengthFirst LengthFirst = new BoxLengthFirst(); 

Comparer<Box> bc = (Comparer<Box>) LengthFirst;

Box BoxA = new Box(2, 6, 8);
Box BoxB = new Box(10, 12, 14);
int x = LengthFirst.Compare(BoxA, BoxB);
Console.WriteLine();
Console.WriteLine(x.ToString());

' This explicit interface implementation
' compares first by the length.
' Returns -1 because the length of BoxA
' is less than the length of BoxB.
Dim LengthFirst As New BoxLengthFirst()

Dim bc As Comparer(Of Box) = CType(LengthFirst, Comparer(Of Box))

Dim BoxA As New Box(2, 6, 8)
Dim BoxB As New Box(10, 12, 14)
Dim x As Integer = LengthFirst.Compare(BoxA, BoxB)
Console.WriteLine()
Console.WriteLine(x.ToString())

Hinweise

Diese Methode ist ein Wrapper für die Compare(T, T) -Methode, obj daher muss in den Typ umgewandelt werden, der vom generischen-Argument T der aktuellen Instanz angegeben wird.This method is a wrapper for the Compare(T, T) method, so obj must be cast to the type specified by the generic argument T of the current instance. Wenn Sie nicht in Tumgewandelt werden kann, wird eine ArgumentException ausgelöst.If it cannot be cast to T, an ArgumentException is thrown.

Der null Vergleich mit einem beliebigen Verweistyp ist zulässig und generiert keine Ausnahme.Comparing null with any reference type is allowed and does not generate an exception. Beim Sortieren null wird als kleiner als ein beliebiges anderes Objekt betrachtet.When sorting, null is considered to be less than any other object.

Hinweise für Aufrufer

Compare(T, T)und System.Collections.Generic.EqualityComparer`1.Equals(\`0,\`0) Verhalten sich in Bezug auf Kultur Sensitivität und Berücksichtigung der Groß-/Kleinschreibung anders. Compare(T, T) and System.Collections.Generic.EqualityComparer`1.Equals(\`0,\`0) behave differently in terms of culture-sensitivity and case-sensitivity. Für Zeichen folgen Vergleiche wird StringComparer die-Klasse für die <Comparer>-Zeichenfolgeempfohlen.For string comparisons, the StringComparer class is recommended over Comparer<String>. Eigenschaften der StringComparer -Klasse geben vordefinierte Instanzen zurück, die Zeichen folgen Vergleiche mit unterschiedlichen Kombinationen aus Kultur Sensitivität und Groß-/Kleinschreibung durchführen.Properties of the StringComparer class return predefined instances that perform string comparisons with different combinations of culture-sensitivity and case-sensitivity. Die Groß-/Kleinschreibung und die Kultur Sensitivität sind bei den Membern StringComparer der gleichen Instanz konsistent.The case-sensitivity and culture-sensitivity are consistent among the members of the same StringComparer instance. Weitere Informationen zu kulturspezifischen vergleichen finden Sie unter System.Globalization Namespace und [Globalisierung und Lokalisierung](~/docs/standard/globalization-localization/index.md).For more information on culture-specific comparisons, see the System.Globalization namespace and [Globalization and Localization](~/docs/standard/globalization-localization/index.md).

Gilt für:

Siehe auch