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 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:
L'oggetto più esterno Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> contiene il primo e 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 e il quattordicesimo componente 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 il quindicesimo tramite i componenti ventunesimo 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 componenti da venti secondi a venticinquesimi.