Tuple Classe

Definição

Fornece métodos estáticos para criar objetos tuplo.

public ref class Tuple abstract sealed
public static class Tuple
type Tuple = class
Public Class Tuple
Herança
Tuple

Exemplos

O exemplo seguinte cria uma 8-tupla (octuplo) que contém números primos menores que 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

Observações

Uma tupla é uma estrutura de dados que tem um número e sequência específicos de elementos. Um exemplo de tupla é uma estrutura de dados com três elementos (conhecidos como 3-tuplas ou triplos) que é usada para armazenar um identificador, como o nome de uma pessoa no primeiro elemento, um ano no segundo elemento e o rendimento desse ano no terceiro elemento. O .NET Framework suporta diretamente tuplas com um a sete elementos. Além disso, pode criar tuplas de oito ou mais elementos aninhando objetos de tuplas na Rest propriedade de um Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> objeto.

As tuplas são frequentemente usadas de quatro formas:

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

  • Proporcionar fácil acesso e manipulação de um conjunto de dados.

  • Devolver múltiplos valores de um método sem usar parâmetros out (em C#) ou parâmetros ByRef (em Visual Basic).

  • Passar múltiplos valores a um método através de um único parâmetro. Por exemplo, o Thread.Start(Object) método tem um único parâmetro que permite fornecer um valor ao método que a thread executa no arranque. Se fornecer um Tuple<T1,T2,T3> objeto como argumento de método, pode fornecer a rotina de arranque do thread com três itens de dados.

A Tuple classe não representa uma tupla. Em vez disso, é uma classe que fornece métodos estáticos para criar instâncias dos tipos de tuplas suportados pelo .NET Framework. Fornece métodos auxiliares que pode chamar para instanciar objetos de tuplas sem ter de especificar explicitamente o tipo de cada componente de tupla.

Embora possas criar uma instância de uma classe de tupla chamando o seu construtor de classes, o código para o fazer pode ser complicado. O exemplo seguinte utiliza um construtor de classes para criar um 7-tuplo ou septuplo que contém dados populacionais da cidade de Nova Iorque para cada censo de 1950 a 2000.

// Create a 7-tuple.
var population = new Tuple<string, int, int, int, int, int, int>(
                           "New York", 7891957, 7781984, 
                           7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
// Create a 7-tuple.
let population = Tuple<string, int, int, int, int, int, int>(
                            "New York", 7891957, 7781984, 
                            7894862, 7071639, 7322564, 8008278)
// Display the first and last elements.
printfn $"Population of {population.Item1} in 2000: {population.Item7:N0}"
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer) _
                           ("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7)
' The example displays the following output:
'        Population of New York in 2000: 8,008,278

Criar o mesmo objeto de tuplas usando um método auxiliar é mais direto, como mostra o exemplo seguinte.

// Create a 7-tuple.
var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7);
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
// Create a 7-tuple.
let population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// Display the first and last elements.
printfn $"Population of {population.Item1} in 2000: {population.Item7:N0}"
// The example displays the following output:
//       Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
                  population.Item1, population.Item7)
' The example displays the following output:
'        Population of New York in 2000: 8,008,278

Os Create métodos helper suportam diretamente a criação de objetos tuplas que têm de um a oito componentes (ou seja, singletons a octuplos). Embora não haja limite prático para o número de componentes que uma tupla pode ter, não existem métodos auxiliares para criar uma tupla com nove ou mais componentes. Para criar tal tupla, tens de chamar o Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> construtor.

Note

Para informações adicionais e exemplos que utilizam tuplas, consulte a documentação dos tipos individuais de tuplas no .NET Framework. Estes estão listados na secção Ver Também no final deste tópico.

Métodos

Name Description
Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8)

Cria um novo 8-tuplo, ou octuplo.

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

Cria um novo 7-tuple, ou septuplo.

Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6)

Cria um novo 6-tuplo, ou sextuplo.

Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5)

Cria uma nova 5-tupla, ou quíntupla.

Create<T1,T2,T3,T4>(T1, T2, T3, T4)

Cria um novo 4-tuple, ou quádruplo.

Create<T1,T2,T3>(T1, T2, T3)

Cria um novo 3-tuple, ou triplo.

Create<T1,T2>(T1, T2)

Cria um novo 2-tuple, ou par.

Create<T1>(T1)

Cria um novo 1-tuple, ou singleton.

Aplica-se a

Ver também