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 Tuple generico contenente i valori dei componenti restanti della tupla.

Eccezioni

L'oggetto rest non è un oggetto Tuple generico.

Esempio

Nell'esempio seguente viene creata una tupla da 17 tupla contenente i dati della popolazione per la città di Detroit, il 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 è la popolazione alla data di inizio. Ogni componente successivo fornisce la popolazione a intervalli di decenni. Nell'esempio vengono usati due livelli di annidamento per creare la tupla da 17: definisce una tupla a 7-tupla il cui terzo-settimo componenti contiene dati di popolazione per 1860 fino a 1900, una tupla nidificata da 7 tupla che contiene i dati della popolazione per il 1910 fino al 1970 e una tupla nidificata interna che contiene dati della popolazione per il 1980 fino al 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 usato il metodo per creare un'istanza Tuple.Create di un oggetto a 8 tuple contenente numeri primi inferiori a 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))

Tuttavia, il metodo statico Tuple.Create non può essere usato per creare un oggetto tupla con più di otto componenti.

Quando si usa il costruttore per creare una tupla n con otto o più componenti, usare il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>rest parametro per creare una tupla n annidata che ha da uno a sette componenti. Usando 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