Taal

Tuple<T1,T2,T3,T4,T5,T6,T7>.IComparable.CompareTo(Object) Methode

Definitie

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

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.

Van toepassing op