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>.IComparable.CompareTo (Object)

 

Data di pubblicazione: ottobre 2016

Confronta l'oggetto Tuple<T1, T2, T3> 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>.

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> su un'interfaccia IComparable.

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

System_CAPS_cautionAttenzione

Il Tuple<T1, T2, T3>.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 Equals metodo.

Il Tuple<T1, T2, T3>.IComparable.CompareTo metodo utilizza l'operatore predefinito dell'oggetto per confrontare ogni componente.

Nell'esempio seguente viene creata una matrice di Tuple<T1, T2, T3> oggetti i cui componenti è costituito da uno studente nome punteggio medio e numero di test. Visualizza 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, il primo componente. Si noti che nell'esempio viene chiamato direttamente il Tuple<T1, T2, T3>.IComparable.CompareTo metodo. Questo metodo viene chiamato in modo implicito per il Sort(Array) metodo per ogni elemento nella matrice.

using System;

public class Example
{
   public static void Main()
   {
      Tuple<string, double, int>[] scores = 
                    { Tuple.Create("Jack", 78.8, 8),
                      Tuple.Create("Abbey", 92.1, 9), 
                      Tuple.Create("Dave", 88.3, 9),
                      Tuple.Create("Sam", 91.7, 8), 
                      Tuple.Create("Ed", 71.2, 5),
                      Tuple.Create("Penelope", 82.9, 8),
                      Tuple.Create("Linda", 99.0, 9),
                      Tuple.Create("Judith", 84.3, 9) };

      Console.WriteLine("The values in unsorted order:");
      foreach (var score in scores)
         Console.WriteLine(score.ToString());

      Console.WriteLine();

      Array.Sort(scores);

      Console.WriteLine("The values in sorted order:");
      foreach (var score in scores)
         Console.WriteLine(score.ToString());
   }
}
// The example displays the following output;
//    The values in unsorted order:
//    (Jack, 78.8, 8)
//    (Abbey, 92.1, 9)
//    (Dave, 88.3, 9)
//    (Sam, 91.7, 8)
//    (Ed, 71.2, 5)
//    (Penelope, 82.9, 8)
//    (Linda, 99, 9)
//    (Judith, 84.3, 9)
//    
//    The values in sorted order:
//    (Abbey, 92.1, 9)
//    (Dave, 88.3, 9)
//    (Ed, 71.2, 5)
//    (Jack, 78.8, 8)
//    (Judith, 84.3, 9)
//    (Linda, 99, 9)
//    (Penelope, 82.9, 8)
//    (Sam, 91.7, 8)

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: