Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

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

Rappresenta una tupla con cinque componenti, ovvero una quintupla.

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

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

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

Parametri di tipo

T1

Tipo del primo componente della tupla.

T2

Tipo del secondo componente della tupla.

T3

Tipo del terzo componente della tupla.

T4

Tipo del quarto componente della tupla.

T5

Tipo del quinto componente della tupla.

Il tipo Tuple<T1, T2, T3, T4, T5> espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreTuple<T1, T2, T3, T4, T5>Inizializza una nuova istanza della classe Tuple<T1, T2, T3, T4, T5>.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreItem1Ottiene il valore del primo componente dell'oggetto Tuple<T1, T2, T3, T4, T5> corrente.
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreItem2Ottiene il valore del secondo componente dell'oggetto Tuple<T1, T2, T3, T4, T5> corrente.
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreItem3Ottiene il valore del terzo componente dell'oggetto Tuple<T1, T2, T3, T4, T5> corrente.
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreItem4Ottiene il valore del quarto componente dell'oggetto Tuple<T1, T2, T3, T4, T5> corrente.
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreItem5Ottiene il valore del quinto componente dell'oggetto Tuple<T1, T2, T3, T4, T5> corrente.
In alto

  NomeDescrizione
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualsRestituisce un valore che indica se l'oggetto Tuple<T1, T2, T3, T4, T5> corrente è uguale a un oggetto specificato. (Esegue l'override di Object.Equals(Object)).
Metodo protettoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreFinalize 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)
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCodeRestituisce il codice hash per l'oggetto Tuple<T1, T2, T3, T4, T5> corrente. (Esegue l'override di Object.GetHashCode()).
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToStringRestituisce una stringa che rappresenta il valore di questa istanza di Tuple<T1, T2, T3, T4, T5>. (Esegue l'override di Object.ToString()).
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIComparable.CompareToConfronta l'oggetto Tuple<T1, T2, T3, T4, T5> corrente con un oggetto specificato e restituisce un Integer che indica se l'oggetto corrente precede, segue o si trova nella stessa posizione dell'oggetto specificato all'interno dell'ordinamento.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIStructuralComparable.CompareToConfronta l'oggetto Tuple<T1, T2, T3, T4, T5> corrente con un oggetto specificato mediante un operatore di confronto specificato e restituisce un Integer che indica se l'oggetto corrente precede, segue o si trova nella stessa posizione dell'oggetto specificato all'interno dell'ordinamento.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIStructuralEquatable.EqualsRestituisce un valore che indica se l'oggetto Tuple<T1, T2, T3, T4, T5> corrente è uguale a un oggetto specificato in base a un metodo di confronto specificato.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreIStructuralEquatable.GetHashCodeCalcola il codice hash per l'oggetto Tuple<T1, T2, T3, T4, T5> corrente tramite un metodo di calcolo specificato.
In alto

Una tupla è una struttura dei dati che dispone di un numero specifico e una sequenza di valori. La classe Tuple<T1, T2, T3, T4, T5> rappresenta una quintupla, ossia una tupla con cinque componenti.

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

Le tuple sono comunemente utilizzate in quattro modalità diverse:

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

  • Per accedere e manipolare semplicemente un set di dati. Nell'esempio riportato di seguito viene definita una matrice di oggetti Tuple<T1, T2, T3, T4, T5> che contiene i nomi dei running back del football americano, il numero di partite giocate e il numero di passaggi, di iarde totali conquistate e di mete segnate in quelle partite. La matrice viene passata al metodo ComputeStatistics che calcola il numero di ogni running back di riporti per gioco, iarde medie per gioco, iarde medie per riporto e 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 l'utilizzo di parametri out (in C#) o parametri ByRef (in Visual Basic). Ad esempio, l'esempio precedente restituisce le statistiche calcolate, insieme al nome del lettore, in una matrice di oggetti Tuple<T1, T2, T3, T4, T5>.

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

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Supportato in: 4

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft