Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Propriedade Tuple<T1, T2, T3, T4, T5, T6, T7, TRest>.Rest

.NET Framework (current version)
 

Obtém os componentes restantes do objeto Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> atual.

Namespace:   System
Assembly:  mscorlib (em mscorlib.dll)

public TRest Rest { get; }

Valor da Propriedade

Type: TRest

O valor dos componentes restantes do objeto Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> atual.

O Rest propriedade retorna um aninhada Tuple objeto que permite acessar o oitavo Embora ncomponentes th da tupla. Dependendo do número total de componentes na tupla, os valores do oitavo décimo componentes podem ser recuperados de aninhada Tuple do objeto Item1 por meio de Item7 propriedades. Você pode usar o Rest propriedade de uma construção Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> objeto para recuperar o Tuple objeto do próximo nível de aninhamento.

Você pode determinar dinamicamente o número de componentes em uma instrução Tuple objeto que é retornado pelo Rest propriedade extraindo o dígito de seu nome de tipo. O exemplo a seguir fornece uma ilustração.

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

O exemplo a seguir cria um objeto de 17 tuplas que contém dados de preenchimento da cidade de Detroit, Michigan, de 1860 a 2000. O componente sétimo de 17-tupla é a população de 1900. O exemplo usa a Rest propriedade para recuperar os valores do oitavo por meio de componentes décimo quarto e usa o Rest propriedade aninhada Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> objeto para recuperar os valores dos componentes restantes.

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 %

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 4.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 4.0
Windows Phone Silverlight
Disponível desde 8.0
Windows Phone
Disponível desde 8.1
Retornar ao início
Mostrar: