Condividi tramite


Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Costruttore

Definizione

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

public:
 Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
public Tuple(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, TRest rest);
new Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> : 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'Rest -> Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest>
Public Sub New (item1 As T1, item2 As T2, item3 As T3, item4 As T4, item5 As T5, item6 As T6, item7 As T7, rest As TRest)

Parametri

item1
T1

Valore del primo componente della tupla.

item2
T2

Valore del secondo componente della tupla.

item3
T3

Valore del terzo componente della tupla.

item4
T4

Valore del quarto componente della tupla.

item5
T5

Valore del quinto componente della tupla.

item6
T6

Valore del sesto componente della tupla.

item7
T7

Valore del settimo componente della tupla.

rest
TRest

Qualsiasi oggetto generico Tuple che contiene i valori dei componenti rimanenti della tupla.

Eccezioni

rest non è un oggetto generico Tuple .

Esempio

Nell'esempio seguente viene creata una tupla da 17 tuple contenente i dati sulla popolazione per la città di Detroit, Michigan, per ogni censimento compreso tra il 1860 e il 2000. Il primo componente della tupla è il nome della città. Il secondo componente è la data di inizio della serie di dati e il terzo componente è il popolamento alla data di inizio. Ogni componente successivo fornisce la popolazione a intervalli di dieci anni. L'esempio usa due livelli di annidamento per creare la tupla da 17: definisce una tupla da 7 a 7 componenti il cui terzo e il settimo componente contengono dati sulla popolazione da 1860 a 1900, una tupla annidata da 7 tupla annidata contenente i dati della popolazione da 1910 a 1970 e una tupla nidificata interna con 3 tuple che contiene i dati della popolazione da 1980 a 2000.

var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
let from1980 = Tuple.Create(1203339, 1027974, 951270)
let from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>(465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
let population = new Tuple<string, int, int, int, int, int, int, Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>>("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
    Tuple(Of Integer, Integer, Integer)) _
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _ 
    Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)

Commenti

È anche possibile usare il metodo statico Tuple.Create per creare un'istanza di un oggetto a 8 tuple (ottuple) senza dover specificare in modo esplicito i tipi dei relativi componenti. Nell'esempio seguente viene utilizzato il Tuple.Create metodo per creare un'istanza di un oggetto a 8 tuple contenente numeri primi minori di 20.

var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1);
// The example displays the following output:
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
open System

let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Dim primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1)
' The example displays the following output:
'     Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19

Equivale alla chiamata seguente al costruttore della Tuple<T1,T2,T3,T4,T5,T6,T7> classe .

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
let primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
               Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19))
Dim primes = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, _ 
             Tuple(Of Int32))(2, 3, 5, 7, 11, 13, 17, New Tuple(Of Int32)(19))

Non è tuttavia possibile utilizzare il metodo statico Tuple.Create per creare un oggetto tupla con più di otto componenti.

Quando si usa il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore per creare una tupla n con otto o più componenti, usare il rest parametro per creare una tupla n annidata con da uno a sette componenti. Usando i livelli successivi di annidamento, è possibile creare una tupla n con un numero virtualmente illimitato di componenti. Ad esempio, per creare una tupla da 25, creare un'istanza di un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto con tre livelli di annidamento, come indicato di seguito:

Si applica a

Vedi anche