Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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

 

Data di pubblicazione: ottobre 2016

Confronta l'oggetto Tuple<T1, T2, T3, T4, T5> oggetto a un oggetto specificato e restituisce un intero che indica se l'oggetto corrente è prima, dopo o nella stessa posizione dell'oggetto specificato nell'ordinamento.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

int IComparable.CompareTo(
	object obj
)

Parametri

obj
Type: System.Object

Oggetto da confrontare con l'istanza corrente.

Valore restituito

Type: System.Int32

Intero con segno che indica la posizione relativa di questa istanza e obj nella sequenza di ordinamento, come illustrato nella tabella seguente.

Valore

Descrizione

Intero negativo

Questa istanza precede obj.

Zero

Questa istanza e obj hanno la stessa posizione nell'ordinamento.

Intero positivo

L'istanza segue obj.

Exception Condition
ArgumentException

obj non è un oggetto Tuple<T1, T2, T3, T4, T5>.

Questo membro è un'implementazione esplicita di un membro di interfaccia. e può essere utilizzato solo quando si esegue il cast dell'istanza di Tuple<T1, T2, T3, T4, T5> su un'interfaccia IComparable.

Questo metodo fornisce il IComparable.CompareTo implementazione per la Tuple<T1, T2, T3, T4, T5> classe. Anche se il metodo può essere chiamato direttamente, viene chiamato più di frequente dagli overload predefiniti di ordinamento alla raccolta di metodi, ad esempio Array.Sort(Array) e SortedList.Add, per ordinare i membri di una raccolta.

System_CAPS_cautionAttenzione

Il IComparable.CompareTo metodo è destinato all'utilizzo nelle operazioni di ordinamento. E non deve essere utilizzato quando lo scopo principale di un confronto per determinare se due oggetti sono uguali. Per determinare se due oggetti sono uguali, chiamare il Tuple<T1, T2, T3, T4, T5>.Equals(Object) metodo.

Il metodo IComparable.CompareTo(Object) utilizza l'operatore di confronto predefinito dell'oggetto per confrontare ogni componente.

Nell'esempio seguente viene creata una matrice di Tuple<T1, T2, T3, T4, T5> gli oggetti che contengono le statistiche di carriera dei running back nel football americano professionista. I cinque componenti sono costituiti dal nome del giocatore, il numero di partite giocate, il numero di passaggi o tentativi, il numero totale di cubi acquisita e il numero di touchdown segnati. Nell'esempio vengono visualizzati i componenti di ogni tupla nella matrice in ordine casuale, Ordina la matrice e quindi chiama ToString per visualizzare ogni tupla in base all'ordine. L'output mostra che la matrice siano stata ordinata in base al nome, ovvero il primo componente. Si noti che nell'esempio viene chiamato direttamente il IComparable.CompareTo metodo. Questo metodo viene chiamato in modo implicito per il Sort(Array) metodo per ogni elemento nella matrice.

using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      // Organization of runningBacks 5-tuple:
      //    Component 1: Player name
      //    Component 2: Number of games played
      //    Component 3: Number of attempts (carries)
      //    Component 4: Number of yards gained 
      //    Component 5: Number of touchdowns   
      Tuple<string, int, int, int, int>[] runningBacks =
           { Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),  
             Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),            
             Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),            
             Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),            
             Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) }; 

      // Display the array in unsorted order.
      Console.WriteLine("The values in unsorted order:");
      foreach (var runningBack in runningBacks)
         Console.WriteLine(runningBack.ToString());
      Console.WriteLine();

      // Sort the array
      Array.Sort(runningBacks);

      // Display the array in sorted order.
      Console.WriteLine("The values in sorted order:");
      foreach (var runningBack in runningBacks)
         Console.WriteLine(runningBack.ToString());
   }
}
// The example displays the following output:
//       The values in unsorted order:
//       (Payton, Walter, 190, 3838, 16726, 110)
//       (Sanders, Barry, 153, 3062, 15269, 99)
//       (Brown, Jim, 118, 2359, 12312, 106)
//       (Dickerson, Eric, 144, 2996, 13259, 90)
//       (Faulk, Marshall, 176, 2836, 12279, 100)
//       
//       The values in sorted order:
//       (Brown, Jim, 118, 2359, 12312, 106)
//       (Dickerson, Eric, 144, 2996, 13259, 90)
//       (Faulk, Marshall, 176, 2836, 12279, 100)
//       (Payton, Walter, 190, 3838, 16726, 110)
//       (Sanders, Barry, 153, 3062, 15269, 99)

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: