Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Costruttore
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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:
L'oggetto più esterno Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> contiene il primo attraverso il settimo componente. La proprietà Rest fornisce l'accesso a un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto al primo livello di annidamento.
L'oggetto annidato Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> più esterno contiene l'ottavo attraverso i quattordici componenti e la relativa Rest proprietà fornisce l'accesso a un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto al secondo livello di annidamento.
L'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> al secondo livello di annidamento contiene i quindici e i venti primi componenti e la relativa Rest proprietà fornisce l'accesso a un Tuple<T1,T2,T3,T4> oggetto al terzo livello di annidamento.
La tupla più interna è un Tuple<T1,T2,T3,T4> oggetto che contiene i venti secondi e venticinque componenti.