Tuple<T1,T2,T3,T4,T5,T6,T7>.IComparable.CompareTo(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Vergleicht das aktuelle Tuple<T1,T2,T3,T4,T5,T6,T7> Objekt mit einem angegebenen Objekt und gibt eine ganze Zahl zurück, die angibt, ob das aktuelle Objekt vor, nach oder in derselben Position wie das angegebene Objekt in der Sortierreihenfolge liegt.
virtual int System.IComparable.CompareTo(System::Object ^ obj) = IComparable::CompareTo;
int IComparable.CompareTo(object obj);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (obj As Object) As Integer Implements IComparable.CompareTo
Parameter
- obj
- Object
Ein Objekt, das mit der aktuellen Instanz verglichen werden soll.
Gibt zurück
Eine signierte ganze Zahl, die die relative Position dieser Instanz und obj in der Sortierreihenfolge angibt, wie in der folgenden Tabelle dargestellt.
| Wert: | Beschreibung |
|---|---|
| Eine negative ganze Zahl | Diese Instanz steht vor obj.
|
| Null | Diese Instanz und obj haben dieselbe Position in der Sortierreihenfolge.
|
| Eine positive ganze Zahl | Diese Instanz folgt obj.
|
Implementiert
Ausnahmen
obj ist kein Tuple<T1,T2,T3,T4,T5,T6,T7> Objekt.
Beispiele
Im folgenden Beispiel wird ein Array von Tuple<T1,T2,T3,T4,T5,T6,T7>-Objekten erstellt, die Bevölkerungsdaten für drei Städte in der USA von 1950 bis 2000 enthalten. Die sieben Komponenten bestehen aus dem Stadtnamen, gefolgt von der Bevölkerung der Stadt in 10-Jahres-Abständen von 1950 bis 2000. Im Beispiel werden die Komponenten jedes Tupels im Array in nicht sortierter Reihenfolge angezeigt, das Array sortiert und anschließend die ToString Methode aufgerufen, um jedes Tupel in sortierter Reihenfolge anzuzeigen. Die Ausgabe zeigt, dass das Array nach Name sortiert wurde, bei dem es sich um die erste Komponente handelt. Beachten Sie, dass das Beispiel die IComparable.CompareTo(Object) Methode nicht direkt aufruft. Diese Methode wird implizit von der Sort(Array) Methode für jedes Element im Array aufgerufen.
using System;
public class Example
{
public static void Main()
{
// Create array of sextuple with population data for three U.S.
// cities, 1950-2000.
Tuple<string, int, int, int, int, int, int>[] cities =
{ Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820),
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278),
Tuple.Create("Chicago", 3620962, 3550904, 3366957, 3005072, 2783726, 2896016) };
// Display array in unsorted order.
Console.WriteLine("In unsorted order:");
foreach (var city in cities)
Console.WriteLine(city.ToString());
Console.WriteLine();
Array.Sort(cities);
// Display array in sorted order.
Console.WriteLine("In sorted order:");
foreach (var city in cities)
Console.WriteLine(city.ToString());
}
}
// The example displays the following output:
// In unsorted order:
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
//
// In sorted order:
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
open System
// Create array of sextuple with population data for three U.S.
// cities, 1950-2000.
let cities =
[| Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Tuple.Create("Chicago", 3620962, 3550904, 3366957, 3005072, 2783726, 2896016) |]
// Display array in unsorted order.
printfn $"In unsorted order:"
for city in cities do
printfn $"{city}"
printfn ""
Array.Sort cities
// Display array in sorted order.
printfn "In sorted order:"
for city in cities do
printfn $"{city}"
// The example displays the following output:
// In unsorted order:
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
//
// In sorted order:
// (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
// (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
// (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Module Example
Public Sub Main()
' Create array of sextuple with population data for three U.S.
' cities, 1950-2000.
Dim cities() = _
{ Tuple.Create("Los Angeles", 1970358, 2479015, 2816061, 2966850, 3485398, 3694820),
Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278),
Tuple.Create("Chicago", 3620962, 3550904, 3366957, 3005072, 2783726, 2896016) }
' Display array in unsorted order.
Console.WriteLine("In unsorted order:")
For Each city In cities
Console.WriteLine(city.ToString())
Next
Console.WriteLine()
Array.Sort(cities)
' Display array in sorted order.
Console.WriteLine("In sorted order:")
For Each city In cities
Console.WriteLine(city.ToString())
Next
End Sub
End Module
' The example displays the following output:
' In unsorted order:
' (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
' (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
'
' In sorted order:
' (Chicago, 3620962, 3550904, 3366957, 3005072, 2783726, 2896016)
' (Los Angeles, 1970358, 2479015, 2816061, 2966850, 3485398, 3694820)
' (New York, 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
Hinweise
Dieses Element ist eine explizite Schnittstellenmitgliedsimplementierung. Sie kann nur verwendet werden, wenn die Tuple<T1,T2,T3,T4,T5,T6,T7> Instanz in eine IComparable Schnittstelle umgegossen wird.
Diese Methode stellt die IComparable.CompareTo Implementierung für die Tuple<T1,T2,T3,T4,T5,T6,T7> Klasse bereit. Obwohl die Methode direkt aufgerufen werden kann, wird sie am häufigsten durch die Standardüberladungen von Sammlungssortierungsmethoden, z Array.Sort(Array) . B. und SortedList.Add, aufgerufen, um die Member einer Auflistung zu ordnen.
Vorsicht
Die IComparable.CompareTo Methode ist für sortiervorgänge vorgesehen. Es sollte nicht verwendet werden, wenn der Hauptzweck eines Vergleichs darin besteht, zu bestimmen, ob zwei Objekte gleich sind. Um zu bestimmen, ob zwei Objekte gleich sind, rufen Sie die Tuple<T1,T2,T3,T4,T5,T6,T7>.Equals(Object) Methode auf.
Diese Methode verwendet den Standardobjektvergleich, um jede Komponente zu vergleichen.