Tuple<T1,T2,T3,T4,T5,T6,T7>.IComparable.CompareTo(Object) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vergelijkt het huidige Tuple<T1,T2,T3,T4,T5,T6,T7> object met een opgegeven object en retourneert een geheel getal dat aangeeft of het huidige object zich vóór, na of op dezelfde positie bevindt als het opgegeven object in de sorteervolgorde.
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
Parameters
- obj
- Object
Een object dat moet worden vergeleken met het huidige exemplaar.
Retouren
Een ondertekend geheel getal dat de relatieve positie van dit exemplaar en obj in de sorteervolgorde aangeeft, zoals wordt weergegeven in de volgende tabel.
| Waarde | Beschrijving |
|---|---|
| Een negatief geheel getal | Dit exemplaar wordt voorafgegaan door obj.
|
| Nul | Dit exemplaar en obj hebben dezelfde positie in de sorteervolgorde.
|
| Een positief geheel getal | Dit exemplaar volgt obj.
|
Implementeringen
Uitzonderingen
obj is geen Tuple<T1,T2,T3,T4,T5,T6,T7> object.
Voorbeelden
In het volgende voorbeeld wordt een matrix gemaakt van Tuple<T1,T2,T3,T4,T5,T6,T7>-objecten die populatiegegevens bevatten voor drie steden in de Verenigde Staten van 1950 tot 2000. De zeven onderdelen bestaan uit de plaatsnaam, gevolgd door de inwoners van de stad met intervallen van 10 jaar van 1950 tot 2000. In het voorbeeld worden de onderdelen van elke tuple in de matrix in niet-gesorteerde volgorde weergegeven, de matrix gesorteerd en vervolgens de ToString methode aangeroepen om elke tuple in gesorteerde volgorde weer te geven. In de uitvoer ziet u dat de matrix is gesorteerd op naam. Dit is het eerste onderdeel. Houd er rekening mee dat in het voorbeeld de methode niet rechtstreeks wordt aangeroepen IComparable.CompareTo(Object) . Deze methode wordt impliciet aangeroepen door de Sort(Array) methode voor elk element in de matrix.
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)
Opmerkingen
Dit lid is een expliciete implementatie van interfaceleden. Deze kan alleen worden gebruikt wanneer het Tuple<T1,T2,T3,T4,T5,T6,T7> exemplaar naar een IComparable interface wordt gecast.
Deze methode biedt de IComparable.CompareTo implementatie voor de Tuple<T1,T2,T3,T4,T5,T6,T7> klasse. Hoewel de methode rechtstreeks kan worden aangeroepen, wordt deze meestal aangeduid met de standaard overbelasting van methoden voor het sorteren van verzamelingen, zoals Array.Sort(Array) en SortedList.Add, om de leden van een verzameling te ordenen.
Caution
De IComparable.CompareTo methode is bedoeld voor gebruik in sorteerbewerkingen. Het mag niet worden gebruikt wanneer het primaire doel van een vergelijking is om te bepalen of twee objecten gelijk zijn. Als u wilt bepalen of twee objecten gelijk zijn, roept u de Tuple<T1,T2,T3,T4,T5,T6,T7>.Equals(Object) methode aan.
Deze methode gebruikt de standaardobjectvergelijker om elk onderdeel te vergelijken.