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

Definition

Jämför det aktuella Tuple<T1,T2,T3,T4,T5,T6> objektet med ett angivet objekt och returnerar ett heltal som anger om det aktuella objektet är före, efter eller i samma position som det angivna objektet i sorteringsordningen.

 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

Parametrar

obj
Object

Ett objekt som ska jämföras med den aktuella instansen.

Returer

Ett signerat heltal som anger den relativa positionen för den här instansen och obj i sorteringsordningen, enligt följande tabell.

Värde Beskrivning
Ett negativt heltal Den här instansen föregår obj.
Noll Den här instansen och obj har samma position i sorteringsordningen.
Ett positivt heltal Den här instansen följer obj.

Implementeringar

Undantag

obj är inte ett Tuple<T1,T2,T3,T4,T5,T6> objekt.

Exempel

I följande exempel skapas en matris med Tuple<T1,T2,T3,T4,T5,T6> objekt som innehåller befolkningsdata för tre städer i United States från 1960 till 2000. De sex komponenterna består av stadens namn följt av stadens befolkning med tio års mellanrum från 1960 till 2000. I exemplet visas komponenterna för varje tuppeln i matrisen i osorterad ordning, sorterar matrisen och anropar ToString sedan metoden för att visa varje tuppeln i sorterad ordning. Utdata visar att matrisen har sorterats efter namn, vilket är den första komponenten. Observera att exemplet inte anropar IComparable.CompareTo(Object) metoden direkt. Den här metoden anropas implicit av Sort(Array) metoden för varje element i matrisen.

using System;

public class Example
{
   public static void Main()
   {
      // Create array of sextuple with population data for three U.S. 
      // cities, 1960-2000.
      Tuple<string, int, int, int, int, int>[] cities = 
          { Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
            Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),  
            Tuple.Create("Chicago", 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, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    
//    In sorted order:
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
open System

// Create array of sextuple with population data for three U.S. 
// cities, 1960-2000.
let cities = 
    [| Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820)
       Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278) 
       Tuple.Create("Chicago", 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, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    
//    In sorted order:
//    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
//    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
//    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
Module Example
   Public Sub Main()
      ' Create array of sextuple with population data for three U.S. 
      ' cities, 1960-2000.
      Dim cities() = 
          { Tuple.Create("Los Angeles", 2479015, 2816061, 2966850, 3485398, 3694820),
            Tuple.Create("New York", 7781984, 7894862, 7071639, 7322564, 8008278),  
            Tuple.Create("Chicago", 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, 2479015, 2816061, 2966850, 3485398, 3694820)
'    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)
'    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
'    
'    In sorted order:
'    (Chicago, 3550904, 3366957, 3005072, 2783726, 2896016)
'    (Los Angeles, 2479015, 2816061, 2966850, 3485398, 3694820)
'    (New York, 7781984, 7894862, 7071639, 7322564, 8008278)

Kommentarer

Den här medlemmen är en explicit implementering av gränssnittsmedlemmar. Den kan endast användas när instansen Tuple<T1,T2,T3,T4,T5,T6> skickas till ett IComparable gränssnitt.

Den här metoden tillhandahåller implementeringen IComparable.CompareTo för Tuple<T1,T2,T3,T4,T5,T6> klassen. Även om metoden kan anropas direkt, anropas den oftast av standardöverlagringar av insamlingssorteringsmetoder, till exempel Array.Sort(Array) och SortedList.Add, för att beställa medlemmar i en samling.

Caution

Metoden IComparable.CompareTo är avsedd att användas i sorteringsåtgärder. Den bör inte användas när det primära syftet med en jämförelse är att avgöra om två objekt är lika med. Om du vill avgöra om två objekt är lika med anropar du Tuple<T1,T2,T3,T4,T5,T6>.Equals(Object) metoden.

Metoden IComparable.CompareTo(Object) använder standardobjektsjäxaren för att jämföra varje komponent.

Gäller för