Tuple<T1,T2,T3,T4,T5,T6,T7>.IComparable.CompareTo(Object) 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í.
Porovná aktuální Tuple<T1,T2,T3,T4,T5,T6,T7> objekt se zadaným objektem a vrátí celé číslo, které označuje, zda je aktuální objekt před, za nebo ve stejné pozici jako zadaný objekt v pořadí řazení.
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
Parametry
- obj
- Object
Objekt k porovnání s aktuální instancí.
Návraty
Celé číslo se znaménkem, které označuje relativní pozici této instance a obj
v pořadí řazení, jak je znázorněno v následující tabulce.
Hodnota | Popis |
---|---|
Záporné celé číslo | Tato instance předchází obj .
|
Žádnou | Tato instance a obj má stejnou pozici v pořadí řazení.
|
Kladné celé číslo | Tato instance následuje obj .
|
Implementuje
Výjimky
obj
není Tuple<T1,T2,T3,T4,T5,T6,T7> objekt.
Příklady
Následující příklad vytvoří pole Tuple<T1,T2,T3,T4,T5,T6,T7> objektů, které obsahují data o populaci pro tři města v USA z roku 1950 do roku 2000. Sedm složek se skládá z názvu města následovaného obyvateli města v 10 letech od roku 1950 do roku 2000. Příklad zobrazí komponenty každé řazené kolekce členů v poli v neseřazené pořadí, seřadí pole a potom zavolá metodu ToString pro zobrazení každé řazené kolekce členů v seřazeném pořadí. Výstup ukazuje, že pole bylo seřazeno podle názvu, což je první komponenta. Všimněte si, že příklad přímo nevolá metodu IComparable.CompareTo(Object) . Tato metoda je volána implicitně metodou Sort(Array) pro každý prvek v poli.
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)
Poznámky
Tento člen je explicitní implementace členu rozhraní. Lze ho použít pouze v Tuple<T1,T2,T3,T4,T5,T6,T7> případě, že je instance přetypována do IComparable rozhraní.
Tato metoda poskytuje implementaci IComparable.CompareTo třídy Tuple<T1,T2,T3,T4,T5,T6,T7> . I když lze metodu volat přímo, je nejčastěji volána výchozím přetížením metod řazení kolekcí, jako je a Array.Sort(Array) SortedList.Add, pořadí členů kolekce.
Upozornění
Metoda IComparable.CompareTo je určena k použití v operacích řazení. Není vhodné jej používat, pokud je primárním účelem porovnání zjištění, zda se dva objekty rovnají. Chcete-li zjistit, zda jsou dva objekty stejné, zavolejte metodu Tuple<T1,T2,T3,T4,T5,T6,T7>.Equals(Object) .
Tato metoda používá k porovnání jednotlivých komponent výchozí porovnávač objektů.