## Definición

Obtiene los componentes restantes del objeto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> actual.Gets the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's remaining components.

``````public:
property TRest Rest { TRest get(); };``````
``public TRest Rest { get; }``
``member this.Rest : 'Rest``
``Public ReadOnly Property Rest As TRest``

TRest

Valor de los restantes componente del objeto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> actual.The value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's remaining components.

## Ejemplos

En el ejemplo siguiente se crea un objeto de 17 tupla que contiene los datos de población de la ciudad de Detroit, Michigan, de 1860 a 2000.The following example creates a 17-tuple object that contains population data for the city of Detroit, Michigan, from 1860 to 2000. El séptimo componente de la tupla de 17 es la población en 1900.The seventh component of the 17-tuple is the population in 1900. En el ejemplo se usa la Rest propiedad para recuperar los valores de los componentes del octavo al decimocuarto y se usa la Rest propiedad del Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto anidado para recuperar los valores de los componentes restantes.The example uses the Rest property to retrieve the values of the eighth through fourteenth components, and it uses the Rest property of the nested Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to retrieve the values of the remaining components.

``````using System;

class Example
{
static void Main(string[] args)
{
Tuple<int, int, int> 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);

Console.WriteLine("Population of {0}", population.Item1);
Console.WriteLine();
Console.WriteLine("{0,5}  {1,14}  {2,10}", "Year", "Population", "Change");

int year = population.Item2;
ShowPopulation(year, population.Item3);
year += 10;
ShowPopulationChange(year, population.Item4, population.Item3);
year += 10;
ShowPopulationChange(year, population.Item5, population.Item4);
year += 10;
ShowPopulationChange(year, population.Item6, population.Item5);
year += 10;
ShowPopulationChange(year, population.Item7, population.Item6);
year += 10;
ShowPopulationChange(year, population.Rest.Item1, population.Item7);
year += 10;
ShowPopulationChange(year, population.Rest.Item2, population.Rest.Item1);
year += 10;
ShowPopulationChange(year, population.Rest.Item3, population.Rest.Item2);
year += 10;
ShowPopulationChange(year, population.Rest.Item4, population.Rest.Item3);
year += 10;
ShowPopulationChange(year, population.Rest.Item5, population.Rest.Item4);
year += 10;
ShowPopulationChange(year, population.Rest.Item6, population.Rest.Item5);
year += 10;
ShowPopulationChange(year, population.Rest.Item7, population.Rest.Item6);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item1, population.Rest.Item7);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item2, population.Rest.Rest.Item1);
year += 10;
ShowPopulationChange(year, population.Rest.Rest.Item3, population.Rest.Rest.Item2);
}

private static void ShowPopulationChange(int year, int newPopulation, int oldPopulation)
{
Console.WriteLine("{0,5}  {1,14:N0}  {2,10:P2}", year, newPopulation,
((double)(newPopulation - oldPopulation) / oldPopulation) / 10);
}

private static void ShowPopulation(int year, int newPopulation)
{
Console.WriteLine("{0,5}  {1,14:N0}  {2,10:P2}", year, newPopulation, "n/a");
}
}
// The example displays the following output:
//
//    Population of Detroit
//    Year      Population      Change
//    1860          45,619         n/a
//    1870          79,577      7.44 %
//    1880         116,340      4.62 %
//    1890         205,876      7.70 %
//    1900         285,704      3.88 %
//    1910         465,766      6.30 %
//    1920         993,078     11.32 %
//    1930       1,568,622      5.80 %
//    1940       1,623,452      0.35 %
//    1950       1,849,568      1.39 %
//    1960       1,670,144     -0.97 %
//    1970       1,511,462     -0.95 %
//    1980       1,203,339     -2.04 %
//    1990       1,027,974     -1.46 %
//    2000         951,270     -0.75 %
``````
``````Module Example
Sub Main()
Dim from1980 As Tuple(Of Integer, Integer, Integer) =
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)

Console.WriteLine("Population of {0}", population.Item1)
Console.WriteLine()
Console.WriteLine("{0,5}  {1,14}  {2,10}", "Year", "Population", "Change")

Dim year As Integer = population.Item2
ShowPopulation(year, population.Item3)
year += 10
ShowPopulationChange(year, population.Item4, population.Item3)
year += 10
ShowPopulationChange(year, population.Item5, population.Item4)
year += 10
ShowPopulationChange(year, population.Item6, population.Item5)
year += 10
ShowPopulationChange(year, population.Item7, population.Item6)
year += 10
ShowPopulationChange(year, population.Rest.Item1, population.Item7)
year += 10
ShowPopulationChange(year, population.Rest.Item2, population.Rest.Item1)
year += 10
ShowPopulationChange(year, population.Rest.Item3, population.Rest.Item2)
year += 10
ShowPopulationChange(year, population.Rest.Item4, population.Rest.Item3)
year += 10
ShowPopulationChange(year, population.Rest.Item5, population.Rest.Item4)
year += 10
ShowPopulationChange(year, population.Rest.Item6, population.Rest.Item5)
year += 10
ShowPopulationChange(year, population.Rest.Item7, population.Rest.Item6)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item1, population.Rest.Item7)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item2, population.Rest.Rest.Item1)
year += 10
ShowPopulationChange(year, population.Rest.Rest.Item3, population.Rest.Rest.Item2)
End Sub

Private Sub ShowPopulationChange(ByVal year As Integer, ByVal newPopulation As Integer, ByVal oldPopulation As Integer)
Console.WriteLine("{0,5}  {1,14:N0}  {2,10:P2}", year, newPopulation,
(newPopulation - oldPopulation) / oldPopulation / 10)
End Sub

Private Sub ShowPopulation(ByVal year As Integer, ByVal newPopulation As Integer)
Console.WriteLine("{0,5}  {1,14:N0}  {2,10:P2}", year, newPopulation, "n/a")
End Sub
End Module
' The example displays the following output:
'
'    Population of Detroit
'    Year      Population      Change
'    1860          45,619         n/a
'    1870          79,577      7.44 %
'    1880         116,340      4.62 %
'    1890         205,876      7.70 %
'    1900         285,704      3.88 %
'    1910         465,766      6.30 %
'    1920         993,078     11.32 %
'    1930       1,568,622      5.80 %
'    1940       1,623,452      0.35 %
'    1950       1,849,568      1.39 %
'    1960       1,670,144     -0.97 %
'    1970       1,511,462     -0.95 %
'    1980       1,203,339     -2.04 %
'    1990       1,027,974     -1.46 %
'    2000         951,270     -0.75 %
``````

## Comentarios

La Rest propiedad devuelve un objeto anidado `Tuple` que permite el acceso a los componentes octavo a n de la tupla.The Rest property returns a nested `Tuple` object that allows access to the eighth though n th components of the tuple. En función del número total de componentes de la tupla, los valores de los componentes octavo a decimocuarta se pueden recuperar de las `Tuple` propiedades del objeto anidado Item1 a través de Item7 .Depending on the total number of components in the tuple, the values of the eighth through fourteenth components can be retrieved from the nested `Tuple` object's Item1 through Item7 properties. Después, puede usar la Rest propiedad de un objeto anidado Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> para recuperar el `Tuple` objeto en el siguiente nivel de anidamiento.You can then use the Rest property of a nested Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to retrieve the `Tuple` object at the next level of nesting.

Puede determinar de forma dinámica el número de componentes en un objeto anidado `Tuple` devuelto por la Rest propiedad extrayendo el dígito de su nombre de tipo.You can dynamically determine the number of components in a nested `Tuple` object that is returned by the Rest property by extracting the digit from its type name. Esto se muestra en el ejemplo siguiente.The following example provides an illustration.

``````Imports System.Reflection

Module Example
Sub Main()
Dim from1980 As Tuple(Of Integer, Integer, Integer) =
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)

ShowComponentCount(population)
End Sub

Private Sub ShowComponentCount(tuple As Object)
Static ctr As Integer = 0
Static totalComponents As Integer = 0
Dim components As Integer = 0

ctr += 1
Dim name As String = tuple.GetType().Name
components += Int32.Parse(name.Substring(name.IndexOf("`") + 1))
If components = 8 Then
totalComponents += 7
Console.WriteLine("The tuple at level {0} has 7 components.", ctr)
ShowComponentCount(tuple.Rest)
Else
totalComponents += components
Console.WriteLine("The tuple at level {0} has {1} components.",
ctr, components)
Console.WriteLine("Total components in tuple: {0}", totalComponents)
End If
End Sub
End Module
' The example displays the following output:
'       The tuple at level 1 has 7 components.
'       The tuple at level 2 has 7 components.
'       The tuple at level 3 has 3 components.
'       Total components in tuple: 17
``````