Ler em inglês

Compartilhar via


Tuple<T1,T2,T3,T4,T5,T6,T7> Classe

Definição

Representa uma tupla de 7 ou sétupla.

C#
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
C#
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
C#
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6,T7> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable

Parâmetros de tipo

T1

O tipo do primeiro componente da tupla.

T2

O tipo do segundo componente da tupla.

T3

O tipo do terceiro componente da tupla.

T4

O tipo do quarto componente da tupla.

T5

O tipo do quinto componente da tupla.

T6

O tipo do sexto componente da tupla.

T7

O tipo do sétimo componente da tupla.

Herança
Tuple<T1,T2,T3,T4,T5,T6,T7>
Atributos
Implementações

Comentários

Tupla é uma estrutura de dados que possui um número específico e uma sequência de valores. A Tuple<T1,T2,T3,T4,T5,T6,T7> classe representa uma tupla de 7 ou septupla, que é uma tupla que tem sete componentes.

Você pode instanciar um Tuple<T1,T2,T3,T4,T5,T6,T7> objeto chamando o Tuple<T1,T2,T3,T4,T5,T6,T7> método estático ou estático Tuple.Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) . Você pode recuperar o valor dos componentes da tupla usando as propriedades somente Item1leitura, Item2, Item3, Item4, Item5e Item6Item7 instância.

As tuplas costumam ser usadas de quatro maneiras diferentes:

  • Para representar um único conjunto de dados. Por exemplo, uma tupla pode representar um registro de banco de dados, e seus componentes podem representar campos individuais do registro.

  • Para fornecer acesso fácil a, e a manipulação de um conjunto de dados. O exemplo a seguir define um Tuple<T1,T2,T3,T4,T5,T6,T7> objeto que contém dados populacionais da cidade de Nova York para cada censo de 1950 a 2000. A septupla é passada para o ComputePopulationChange método, que calcula a taxa anual de alteração entre censos, bem como a taxa anual de alteração para todo o período de 60 anos.

    C#
    using System;
    
    public class Example
    {
       public static void Main()
       {
          // Get population data for New York City, 1950-2000.
          var population = Tuple.Create("New York", 7891957, 7781984, 
                                        7894862, 7071639, 7322564, 8008278);
          var rate = ComputePopulationChange(population);
          // Display results.
          Console.WriteLine("Population Change, {0}, 1950-2000\n", population.Item1);
          Console.WriteLine("Year      {0,10} {1,9}", "Population", "Annual Rate");
          Console.WriteLine("1950      {0,10:N0} {1,11}", population.Item2, "NA");
          Console.WriteLine("1960      {0,10:N0} {1,11:P2}", population.Item3, rate.Item2/10);
          Console.WriteLine("1970      {0,10:N0} {1,11:P2}", population.Item4, rate.Item3/10);
          Console.WriteLine("1980      {0,10:N0} {1,11:P2}", population.Item5, rate.Item4/10);
          Console.WriteLine("1990      {0,10:N0} {1,11:P2}", population.Item6, rate.Item5/10);
          Console.WriteLine("2000      {0,10:N0} {1,11:P2}", population.Item7, rate.Item6/10);
          Console.WriteLine("1950-2000 {0,10:N0} {1,11:P2}", "", rate.Item7/50);
       }
    
       private static Tuple<string, double, double, double, double, double, double> 
            ComputePopulationChange(
               Tuple<string, int, int, int, int, int, int> data)  
       {           
          var rate = Tuple.Create(data.Item1, 
                           (double)(data.Item3 - data.Item2)/data.Item2, 
                           (double)(data.Item4 - data.Item3)/data.Item3, 
                           (double)(data.Item5 - data.Item4)/data.Item4, 
                           (double)(data.Item6 - data.Item5)/data.Item5,
                           (double)(data.Item7 - data.Item6)/data.Item6,
                           (double)(data.Item7 - data.Item2)/data.Item2 );
          return rate;
       }           
    }
    // The example displays the following output:
    //       Population Change, New York, 1950-2000
    //       
    //       Year      Population Annual Rate
    //       1950       7,891,957          NA
    //       1960       7,781,984     -0.14 %
    //       1970       7,894,862      0.15 %
    //       1980       7,071,639     -1.04 %
    //       1990       7,322,564      0.35 %
    //       2000       8,008,278      0.94 %
    //       1950-2000                 0.03 %
    
  • Para retornar vários valores de um método sem o uso de parâmetros out (no C#) ou de parâmetros ByRef (no Visual Basic). Por exemplo, o exemplo anterior retorna suas estatísticas computadas, juntamente com o nome da cidade, em um Tuple<T1,T2,T3,T4,T5,T6,T7> objeto.

  • Para passar vários valores para um método por meio de um parâmetro único. Por exemplo, o método Thread.Start(Object) tem um único parâmetro que permite fornecer um valor ao método que o thread executa na inicialização. Se você fornecer um Tuple<T1,T2,T3,T4,T5,T6,T7> objeto como o argumento do método, poderá fornecer a rotina de inicialização do thread com sete itens de dados.

Construtores

Tuple<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7)

Inicializa uma nova instância da classe Tuple<T1,T2,T3,T4,T5,T6,T7>.

Propriedades

Item1

Obtém o valor do primeiro componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item2

Obtém o valor do segundo componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item3

Obtém o valor do terceiro componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item4

Obtém o valor do quarto componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item5

Obtém o valor do quinto componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item6

Obtém o valor do sexto componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Item7

Obtém o valor do sétimo componente do objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

Métodos

Equals(Object)

Retorna um valor que indica se o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual é igual a um objeto especificado.

GetHashCode()

Retorna o código hash para o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o valor desta instância Tuple<T1,T2,T3,T4,T5,T6,T7>.

Implantações explícitas de interface

IComparable.CompareTo(Object)

Compara o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual a um objeto especificado e retorna um inteiro que indica se o objeto atual está antes, depois ou na mesma posição que o objeto especificado na ordem de classificação.

IStructuralComparable.CompareTo(Object, IComparer)

Compara o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual com um objeto especificado usando um comparador especificado e retorna um inteiro que indica se o objeto atual está antes, depois ou na mesma posição do objeto especificado na ordem de classificação.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Retorna um valor que indica se o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual é igual ao objeto especificado com base em um determinado método de comparação.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Calcula o código hash para o objeto Tuple<T1,T2,T3,T4,T5,T6,T7> atual usando um método de computação especificado.

ITuple.Item[Int32]

Obtém o valor do elemento Tuple especificado.

ITuple.Length

Obtém o número de elementos no Tuple.

Métodos de Extensão

Deconstruct<T1,T2,T3,T4,T5,T6,T7>(Tuple<T1,T2,T3,T4,T5,T6,T7>, T1, T2, T3, T4, T5, T6, T7)

Desconstrói uma tupla com sete elementos em variáveis separadas.

ToValueTuple<T1,T2,T3,T4,T5,T6,T7>(Tuple<T1,T2,T3,T4,T5,T6,T7>)

Converte uma instância da classe Tuple em uma instância da estrutura ValueTuple.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Confira também