Tuple<T1,T2,T3> Classe
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma tupla de 3 ou tripla.
generic <typename T1, typename T2, typename T3>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
generic <typename T1, typename T2, typename T3>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
[System.Serializable]
public class Tuple<T1,T2,T3> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralComparable
interface IStructuralEquatable
interface IComparable
interface ITuple
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
[<System.Serializable>]
type Tuple<'T1, 'T2, 'T3> = class
interface IStructuralEquatable
interface IStructuralComparable
interface IComparable
interface ITuple
Public Class Tuple(Of T1, T2, T3)
Implements IComparable, IStructuralComparable, IStructuralEquatable
Public Class Tuple(Of T1, T2, T3)
Implements IComparable, IStructuralComparable, IStructuralEquatable, ITuple
- T1
O tipo do primeiro componente da tupla.
- T2
O tipo do segundo componente da tupla.
- T3
O tipo do terceiro componente da tupla.
- Herança
-
Tuple<T1,T2,T3>
- Atributos
- Implementações
Tupla é uma estrutura de dados que possui um número específico e uma sequência de valores. A Tuple<T1,T2,T3> classe representa uma tupla de 3 ou três, que é uma tupla que tem três componentes.
Você pode instanciar um Tuple<T1,T2,T3> objeto chamando o Tuple<T1,T2,T3> construtor ou o método estático Tuple.Create<T1,T2,T3>(T1, T2, T3) . Você pode recuperar os valores dos componentes da tupla usando as propriedades somente Item1Item2leitura e Item3 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 uma matriz de objetos Tuple<T1,T2,T3> que contêm os nomes de alunos, as pontuações de teste médias e o número de testes realizados. A matriz é passada para o
ComputeStatistics
método, que calcula a média e o desvio padrão das pontuações de teste.C#using System; public class Example { public static void Main() { Tuple<string, double, int>[] scores = { Tuple.Create("Jack", 78.8, 8), Tuple.Create("Abbey", 92.1, 9), Tuple.Create("Dave", 88.3, 9), Tuple.Create("Sam", 91.7, 8), Tuple.Create("Ed", 71.2, 5), Tuple.Create("Penelope", 82.9, 8), Tuple.Create("Linda", 99.0, 9), Tuple.Create("Judith", 84.3, 9) }; var result = ComputeStatistics(scores); Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", result.Item2, result.Item3, result.Item1); } private static Tuple<int, double, double> ComputeStatistics(Tuple<string, double, int>[] scores) { int n = 0; double sum = 0; // Compute the mean. foreach (var score in scores) { n += score.Item3; sum += score.Item2 * score.Item3; } double mean = sum / n; // Compute the standard deviation. double ss = 0; foreach (var score in scores) { ss = Math.Pow(score.Item2 - mean, 2); } double sd = Math.Sqrt(ss/scores.Length); return Tuple.Create(scores.Length, mean, sd); } } // The example displays the following output: // Mean score: 87.02 (SD=0.96) (n=8)
open System let computeStatistics (scores: Tuple<string, double, int>[]) = let mutable n = 0 let mutable sum = 0. // Compute the mean. for score in scores do n <- n + score.Item3 sum <- sum + score.Item2 * double score.Item3 let mean = sum / double n // Compute the standard deviation. let mutable ss = 0. for score in scores do ss <- (score.Item2 - mean) ** 2. let sd = sqrt (ss / double scores.Length) Tuple.Create(scores.Length, mean, sd) let scores = [| Tuple.Create("Jack", 78.8, 8) Tuple.Create("Abbey", 92.1, 9) Tuple.Create("Dave", 88.3, 9) Tuple.Create("Sam", 91.7, 8) Tuple.Create("Ed", 71.2, 5) Tuple.Create("Penelope", 82.9, 8) Tuple.Create("Linda", 99.0, 9) Tuple.Create("Judith", 84.3, 9) |] let result = computeStatistics scores printfn $"Mean score: {result.Item2:N2} (SD={result.Item3:N2}) (n={result.Item1})" // The example displays the following output: // Mean score: 87.02 (SD=0.96) (n=8)
Module Example Public Sub Main() Dim scores() = { Tuple.Create("Jack", 78.8, 8), Tuple.Create("Abbey", 92.1, 9), Tuple.Create("Dave", 88.3, 9), Tuple.Create("Sam", 91.7, 8), Tuple.Create("Ed", 71.2, 5), Tuple.Create("Penelope", 82.9, 8), Tuple.Create("Linda", 99.0, 9), Tuple.Create("Judith", 84.3, 9) } Dim result = ComputeStatistics(scores) Console.WriteLine("Mean score: {0:N2} (SD={1:N2}) (n={2})", result.Item2, result.Item3, result.Item1) End Sub Private Function ComputeStatistics(scores() As Tuple(Of String, Double, Integer)) _ As Tuple(Of Integer, Double, Double) Dim n As Integer = 0 Dim sum As Double = 0 ' Compute the mean. For Each score In scores n+= score.Item3 sum += score.Item2 * score.Item3 Next Dim mean As Double = sum / n ' Compute the standard deviation. Dim ss As Double = 0 For Each score In scores ss = Math.Pow(score.Item2 - mean, 2) Next Dim sd As Double = Math.Sqrt(ss/scores.Length) Return Tuple.Create(scores.Length, mean, sd) End Function End Module ' The example displays the following output: ' Mean score: 87.02 (SD=0.96) (n=8)
Para retornar vários valores de um método sem o uso de parâmetros
out
(no C#) ou de parâmetrosByRef
(no Visual Basic). Por exemplo, o exemplo anterior retorna suas estatísticas de pontuação de teste de resumo em um Tuple<T1,T2,T3> 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> objeto como o argumento do método, poderá fornecer a rotina de inicialização do thread com três itens de dados.
Tuple<T1,T2,T3>(T1, T2, T3) |
Inicializa uma nova instância da classe Tuple<T1,T2,T3>. |
Item1 |
Obtém o valor do primeiro componente do objeto Tuple<T1,T2,T3> atual. |
Item2 |
Obtém o valor do segundo componente do objeto Tuple<T1,T2,T3> atual. |
Item3 |
Obtém o valor do terceiro componente do objeto Tuple<T1,T2,T3> atual. |
Equals(Object) |
Retorna um valor que indica se o objeto Tuple<T1,T2,T3> atual é igual a um objeto especificado. |
Get |
Retorna o código hash para o objeto Tuple<T1,T2,T3> atual. |
Get |
Obtém o Type da instância atual. (Herdado de Object) |
Memberwise |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
To |
Retorna uma cadeia de caracteres que representa o valor desta instância Tuple<T1,T2,T3>. |
IComparable. |
Compara o objeto Tuple<T1,T2,T3> 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. |
IStructural |
Compara o objeto Tuple<T1,T2,T3> 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. |
IStructural |
Retorna um valor que indica se o objeto Tuple<T1,T2,T3> atual é igual ao objeto especificado com base em um determinado método de comparação. |
IStructural |
Calcula o código hash para o objeto Tuple<T1,T2,T3> atual usando um método de computação especificado. |
ITuple. |
Obtém o valor do elemento |
ITuple. |
Obtém o número de elementos no |
Deconstruct<T1,T2,T3>(Tuple<T1,T2,T3>, T1, T2, T3) |
Desconstrói uma tupla com três elementos em variáveis separadas. |
To |
Converte uma instância da classe |
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 |