Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Constructor
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase 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)
Parámetros
- item1
- T1
Valor del primer componente de la tupla.
- item2
- T2
Valor del segundo componente de la tupla.
- item3
- T3
Valor del tercer componente de la tupla.
- item4
- T4
Valor del cuarto componente de la tupla.
- item5
- T5
Valor del quinto componente de la tupla.
- item6
- T6
Valor del sexto componente de la tupla.
- item7
- T7
Valor del séptimo componente de la tupla.
- rest
- TRest
Cualquier objeto Tuple
genérico que contenga los valores de los restantes componentes de la tupla.
Excepciones
rest
no es un objeto Tuple
genérico.
Ejemplos
En el ejemplo siguiente se crea una tupla de 17 que contiene datos de población para la ciudad de Detroit, Michigan, para cada censo de 1860 a 2000. El primer componente de la tupla es el nombre de la ciudad. El segundo componente es la fecha de inicio de la serie de datos y el tercer componente es el rellenado en la fecha de inicio. Cada componente subsiguiente proporciona la población a intervalos de década. En el ejemplo se usan dos capas de anidamiento para crear la tupla de 17: define una tupla de 7 cuyo tercero y séptimo componentes contienen datos de población de 1860 a 1900, una tupla anidada de 7 tuplas que contiene datos de población de 1910 a 1970 y una tupla anidada interna de 3 tuplas que contiene datos de población de 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)
Comentarios
También puede usar el método estático Tuple.Create para crear instancias de un objeto de 8-tupla (octuple) sin tener que especificar explícitamente los tipos de sus componentes. En el ejemplo siguiente se usa el Tuple.Create método para crear una instancia de un objeto de tupla de 8 que contiene números primos inferiores 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
Esto equivale a la siguiente llamada al constructor de Tuple<T1,T2,T3,T4,T5,T6,T7> clase.
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))
Sin embargo, el método estático Tuple.Create no se puede usar para crear un objeto de tupla con más de ocho componentes.
Cuando se usa el Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor para crear una tupla de n con ocho o más componentes, se usa el rest
parámetro para crear una tupla n anidada que tenga de uno a siete componentes. Mediante el uso de niveles sucesivos de anidamiento, puede crear una tupla de n que tenga un número prácticamente ilimitado de componentes. Por ejemplo, para crear una tupla de 25, cree una instancia de un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto con tres niveles de anidamiento, como se indica a continuación:
El objeto más Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> externo contiene el primero hasta el séptimo componente. Su Rest propiedad proporciona acceso a un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto en el primer nivel de anidamiento.
El objeto anidado Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> más externo contiene el octavo a decimocuarto componentes, y su Rest propiedad proporciona acceso a un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto en el segundo nivel de anidamiento.
El Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto en el segundo nivel de anidamiento contiene los componentes decimoquinto a veintiuno y su Rest propiedad proporciona acceso a un Tuple<T1,T2,T3,T4> objeto en el tercer nivel de anidamiento.
La tupla más interna es un Tuple<T1,T2,T3,T4> objeto que contiene los componentes veinticinco a veinticinco.