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

Classe Tuple<T1, T2, T3, T4, T5>

 

Data di pubblicazione: ottobre 2016

Rappresenta una tupla con 5 elementi, ovvero una quintupla.

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

System.Object
  System.Tuple<T1, T2, T3, T4, T5>

[SerializableAttribute]
public class Tuple<T1, T2, T3, T4, T5> : IStructuralEquatable, 
	IStructuralComparable, IComparable

Parametri tipo

T1

Il tipo del primo componente della tupla.

T2

Il tipo del secondo componente della tupla.

T3

Il tipo del terzo componente della tupla.

T4

Il tipo del quarto componente della tupla.

T5

Il tipo del quinto componente della tupla.

NomeDescrizione
System_CAPS_pubmethodTuple<T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5)

Inizializza una nuova istanza della classe Tuple<T1, T2, T3, T4, T5>.

NomeDescrizione
System_CAPS_pubpropertyItem1

Ottiene il valore dell'oggetto corrente Tuple<T1, T2, T3, T4, T5> primo componente dell'oggetto.

System_CAPS_pubpropertyItem2

Ottiene il valore dell'oggetto corrente Tuple<T1, T2, T3, T4, T5> secondo componente dell'oggetto.

System_CAPS_pubpropertyItem3

Ottiene il valore dell'oggetto corrente Tuple<T1, T2, T3, T4, T5> terzo componente dell'oggetto.

System_CAPS_pubpropertyItem4

Ottiene il valore dell'oggetto corrente Tuple<T1, T2, T3, T4, T5> quarto componente dell'oggetto.

System_CAPS_pubpropertyItem5

Ottiene il valore dell'oggetto corrente Tuple<T1, T2, T3, T4, T5> quinto componente dell'oggetto.

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

Restituisce un valore che indica se l'oggetto corrente Tuple<T1, T2, T3, T4, T5> oggetto è uguale all'oggetto specificato.(Esegue l'override di Object.Equals(Object).)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per l'oggetto Tuple<T1, T2, T3, T4, T5> corrente.(Esegue l'override di Object.GetHashCode().)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta il valore di questo Tuple<T1, T2, T3, T4, T5> istanza.(Esegue l'override di Object.ToString().)

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethodIStructuralComparable.CompareTo(Object, IComparer)

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

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStructuralEquatable.Equals(Object, IEqualityComparer)

Restituisce un valore che indica se l'oggetto corrente Tuple<T1, T2, T3, T4, T5> oggetto è uguale all'oggetto specificato in base a un metodo di confronto specificato.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStructuralEquatable.GetHashCode(IEqualityComparer)

Calcola il codice hash per l'oggetto Tuple<T1, T2, T3, T4, T5> oggetto utilizzando un metodo di calcolo specificato.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIComparable.CompareTo(Object)

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.

Una tupla è una struttura di dati con un numero e una sequenza di valori. La Tuple<T1, T2, T3, T4, T5> classe rappresenta una tupla con 5 o quintupla, ovvero una tupla con cinque componenti.

È possibile creare un'istanza di un Tuple<T1, T2, T3, T4, T5> oggetto chiamando il Tuple<T1, T2, T3, T4, T5> costruttore o il metodo statico Tuple.Create<T1, T2, T3, T4, T5>(T1, T2, T3, T4, T5) metodo. È possibile recuperare il valore di componenti della tupla utilizzando la proprietà di sola lettura Item1, Item2, Item3, Item4, e Item5 delle proprietà dell'istanza.

Le tuple sono comunemente utilizzate in quattro modi diversi:

  • Per rappresentare un singolo set di dati. Ad esempio, una tupla può rappresentare un record di database e i componenti possono rappresentare i singoli campi del record.

  • Per fornire facile accesso a e la modifica di un set di dati. Nell'esempio seguente viene definita una matrice di Tuple<T1, T2, T3, T4, T5> gli oggetti che contengono i nomi dei running football americano, il numero di partite giocate e il numero di passaggi, totale yard conquistate e TouchDown punteggi tali partita in corso. La matrice viene passata per la ComputeStatistics metodo, che calcola numerose per giochi, iarde medie per giochi, cubi per eseguire ogni back in esecuzione e il numero medio di touchdown per tentativo.

    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) }; 
          // Calculate statistics.
          // Organization of runningStats 5-tuple:
          //    Component 1: Player name
          //    Component 2: Number of attempts per game
          //    Component 3: Number of yards per game
          //    Component 4: Number of yards per attempt 
          //    Component 5: Number of touchdowns per attempt   
          Tuple<string, double, double, double, double>[] runningStats  = 
              ComputeStatistics(runningBacks);
    
          // Display the result.          
          Console.WriteLine("{0,-16} {1,5} {2,6} {3,7} {4,7} {5,7} {6,7} {7,5} {8,7}\n", 
                            "Name", "Games", "Att", "Att/Gm", "Yards", "Yds/Gm",
                            "Yds/Att", "TD", "TD/Att");
          for (int ctr = 0; ctr < runningBacks.Length; ctr++)
             Console.WriteLine("{0,-16} {1,5} {2,6:N0} {3,7:N1} {4,7:N0} {5,7:N1} {6,7:N2} {7,5} {8,7:N3}\n", 
                               runningBacks[ctr].Item1, runningBacks[ctr].Item2, runningBacks[ctr].Item3, 
                               runningStats[ctr].Item2, runningBacks[ctr].Item4, runningStats[ctr].Item3, 
                               runningStats[ctr].Item4, runningBacks[ctr].Item5, runningStats[ctr].Item5);
       }
    
       private static Tuple<string, double, double, double, double>[] ComputeStatistics(
                    Tuple<string, int, int, int, int>[] players) 
       {
          Tuple<string, double, double, double, double> result; 
          var list = new List<Tuple<string, double, double, double, double>>();
    
          foreach (var player in players)
          {
             // Create result object containing player name and statistics.
             result = Tuple.Create(player.Item1,  
                                   player.Item3/((double)player.Item2), 
                                   player.Item4/((double)player.Item2),
                                   player.Item4/((double)player.Item3), 
                                   player.Item5/((double)player.Item3));
             list.Add(result);         
          }
          return list.ToArray();  
       }
    }
    // The example displays the following output:
    //    Name             Games    Att  Att/Gm   Yards  Yds/Gm Yds/Att    TD  TD/Att
    //    
    //    Payton, Walter     190  3,838    20.2  16,726    88.0    4.36   110   0.029
    //    
    //    Sanders, Barry     153  3,062    20.0  15,269    99.8    4.99    99   0.032
    //    
    //    Brown, Jim         118  2,359    20.0  12,312   104.3    5.22   106   0.045
    //    
    //    Dickerson, Eric    144  2,996    20.8  13,259    92.1    4.43    90   0.030
    //    
    //    Faulk, Marshall    176  2,836    16.1  12,279    69.8    4.33   100   0.035
    
  • Per restituire più valori da un metodo senza utilizzare out (in c#) o ByRef parametri (in Visual Basic). Ad esempio, l'esempio precedente restituisce le statistiche calcolate, insieme al nome del lettore, in una matrice di Tuple<T1, T2, T3, T4, T5> oggetti.

  • Per passare più valori a un metodo tramite un singolo parametro. Ad esempio, il Thread.Start(Object) dispone di un singolo parametro che consente di fornire un valore al metodo eseguito dal thread all'avvio. Se si fornisce un Tuple<T1, T2, T3, T4, T5> dell'oggetto come argomento del metodo, è possibile fornire la routine di avvio del thread con cinque elementi di dati.

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

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: