ValueTuple ValueTuple ValueTuple ValueTuple Struct

Definição

Fornece métodos estáticos para criar tuplas de valor.Provides static methods for creating value tuples.

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
Herança
ValueTupleValueTupleValueTupleValueTuple
Atributos
Implementações

Comentários

Uma tupla é uma estrutura de dados que tem um número específico e uma sequência de elementos.A tuple is a data structure that has a specific number and sequence of elements. Um exemplo de uma 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 a renda da pessoa para esse ano no terceiro elemento.An example of a tuple is a data structure with three elements (known as a 3-tuple or triple) that is used to store an identifier such as a person's name in the first element, a year in the second element, and the person's income for that year in the third element.

Tuplas de valor são tipos de tupla introduzidos no .NET Framework 4.7.NET Framework 4.7 para fornecer a implementação de tempo de execução de tuplas em C# tuplas e struct no. F#Value tuples are tuple types introduced in the .NET Framework 4.7.NET Framework 4.7 to provide the runtime implementation of tuples in C# and struct tuples in F#. Eles diferem das classes de tupla, Tuple<T1>como Tuple<T1,T2>, etc., da seguinte maneira:They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • Eles são estruturas (tipos de valor) em vez de classes (tipos de referência).They are structures (value types) rather than classes (reference types).

  • Elas são mutáveis em vez de somente leitura.They are mutable rather than read-only. Ou seja, o valor de componentes de tupla pode ser alterado.That is, the value of tuple components can change.

  • Seus membros de dados, como Item1, Item2etc., são campos em vez de propriedades.Their data members, such as Item1, Item2, etc., are fields rather than properties.

A ValueTuple estrutura representa uma tupla que não tem elementos.The ValueTuple structure represents a tuple that has no elements. Ele é útil principalmente para seus métodos estáticos que permitem criar e comparar instâncias de tipos de tupla de valor.It is useful primarily for its static methods that let you create and compare instances of value tuple types. Seus métodos auxiliares permitem que você instancie tuplas de valor sem precisar especificar explicitamente o tipo de cada componente de tupla de valor.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. Chamando seus métodos estáticos Create , você pode criar tuplas de valor que tenham de zero a oito componentes.By calling its static Create methods, you can create value tuples that have from zero to eight components. Para tuplas de valor com mais de oito componentes, você deve chamar ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> o construtor.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Tuplas de serialização e valorSerialization and value tuples

O ValueTuple tipo não é serializável no .NET Core 1. x ou no .NET Framework 4,7 e em versões anteriores.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. Além disso, .net Standard, incluindo .net Standard 2,0, não exige a serialização de ValueTuple instâncias; se uma ValueTuple instância é ou não serializável depende da implementação de .net Standard individual.In addition, .NET Standard, including .NET Standard 2.0, does not mandate serialization of ValueTuple instances; whether or not a ValueTuple instance is serializable depends on the individual .NET Standard implementation. Para determinar se um ValueTuple tipo é serializável em uma implementação específica do .net, Type obtenha um objeto que ValueTuple represente o tipo e recupere o IsSerializable valor de sua propriedade.To determine whether a ValueTuple type is serializable on a particular .NET implementation, get a Type object that represents the ValueTuple type and retrieve the value of its IsSerializable property. Para obter uma lista de tipos serializáveis no .NET Core e no .NET Framework, consulte serialização binária.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

Métodos

CompareTo(ValueTuple) CompareTo(ValueTuple) CompareTo(ValueTuple) CompareTo(ValueTuple)

Compara a instância ValueTuple atual a uma instância ValueTuple especificada.Compares the current ValueTuple instance to a specified ValueTuple instance.

Create() Create() Create() Create()

Cria uma nova tupla de valor com nenhum componente.Creates a new value tuple with zero components.

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

Cria uma nova tupla de valor com oito componentes (um óctuplo).Creates a new value tuple with 8 components (an octuple).

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

Cria uma nova tupla de valor com sete componentes (um sétuplo).Creates a new value tuple with 7 components (a septuple).

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

Cria uma nova tupla de valor com seis componentes (um sêxtuplo).Creates a new value tuple with 6 components (a sexuple).

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

Cria uma nova tupla de valor com cinco componentes (um quíntuplo).Creates a new value tuple with 5 components (a quintuple).

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

Cria uma nova tupla de valor com quatro componentes (um quádruplo).Creates a new value tuple with 4 components (a quadruple).

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

Cria uma nova tupla de valor com três componentes (um triplo).Creates a new value tuple with 3 components (a triple).

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

Cria uma nova tupla de valor com dois componentes (um par).Creates a new value tuple with 2 components (a pair).

Create<T1>(T1) Create<T1>(T1) Create<T1>(T1) Create<T1>(T1)

Cria uma nova tupla de valor com um componente (um singleton).Creates a new value tuple with 1 component (a singleton).

Equals(ValueTuple) Equals(ValueTuple) Equals(ValueTuple) Equals(ValueTuple)

Determina se duas instâncias ValueTuple são iguais.Determines whether two ValueTuple instances are equal. Esse método sempre retorna true.This method always returns true.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Retorna um valor que indica se a instância ValueTuple atual é igual a um objeto especificado.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Retorna o código hash da instância ValueTuple atual.Returns the hash code for the current ValueTuple instance.

ToString() ToString() ToString() ToString()

Retorna a representação de cadeia de caracteres dessa instância ValueTuple.Returns the string representation of this ValueTuple instance.

Implantações explícitas de interface

IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer) IStructuralComparable.CompareTo(Object, IComparer)

Compara a instância atual ValueTuple a um objeto especificado.Compares the current ValueTuple instance to a specified object.

IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer) IStructuralEquatable.Equals(Object, IEqualityComparer)

Retorna um valor que indica se a instância ValueTuple atual é igual ao objeto especificado com base em um determinado método de comparação.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object based on a specified comparison method.

IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer) IStructuralEquatable.GetHashCode(IEqualityComparer)

Retorna o código hash para essa instância ValueTuple.Returns the hash code for this ValueTuple instance.

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)

Compara essa instância ValueTuple com um objeto especificado e retorna uma indicação dos valores relativos.Compares this ValueTuple instance with a specified object and returns an indication of their relative values.

ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32] ITuple.Item[Int32]

Retorna um IndexOutOfRangeException.Returns an IndexOutOfRangeException. Não há elementos em um ValueTuple.There are no elements in a ValueTuple.

ITuple.Length ITuple.Length ITuple.Length ITuple.Length

Obtém o tamanho dessa instância ValueTuple, que é sempre 0.Gets the length of this ValueTuple instance, which is always 0. Não há elementos em um ValueTuple.There are no elements in a ValueTuple.

Aplica-se a