Compartir vía


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

Definición

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:

Se aplica a

Consulte también