ValueTuple Estructura

Definición

Proporciona los métodos estáticos para crear tuplas de valor.

public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable, System::Runtime::CompilerServices::ITuple
public value class ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable, System.Runtime.CompilerServices.ITuple
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
[System.Serializable]
public struct ValueTuple : IComparable, IComparable<ValueTuple>, IEquatable<ValueTuple>, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type ValueTuple = struct
    interface ITuple
type ValueTuple = struct
[<System.Serializable>]
type ValueTuple = struct
    interface ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable, ITuple
Public Structure ValueTuple
Implements IComparable, IComparable(Of ValueTuple), IEquatable(Of ValueTuple), IStructuralComparable, IStructuralEquatable
Herencia
ValueTuple
Atributos
Implementaciones

Comentarios

Una tupla es una estructura de datos que tiene un número específico y una secuencia de elementos. Un ejemplo de una tupla es una estructura de datos con tres elementos (conocidos como tres tuplas o triples) que se usan para almacenar un identificador como el nombre de una persona en el primer elemento, un año en el segundo elemento y los ingresos de la persona para ese año en el tercer elemento.

Las tuplas de valor son tipos de tupla introducidos en el .NET Framework 4.7 para proporcionar la implementación en tiempo de ejecución de tuplas en C# y tuplas de estructura en F#. Difieren de las clases de tupla, como Tuple<T1>, Tuple<T1,T2>, etc., como se indica a continuación:

  • Son estructuras (tipos de valor) en lugar de clases (tipos de referencia).

  • Son mutables en lugar de solo lectura. Es decir, el valor de los componentes de tupla puede cambiar.

  • Sus miembros de datos, como Item1, Item2, etc., son campos en lugar de propiedades.

La ValueTuple estructura representa una tupla que no tiene elementos. Es útil principalmente para sus métodos estáticos que permiten crear y comparar instancias de tipos de tupla de valor. Sus métodos auxiliares permiten crear instancias de tuplas de valor sin tener que especificar explícitamente el tipo de cada componente de tupla de valor. Al llamar a sus métodos estáticos Create , puede crear tuplas de valor que tengan de cero a ocho componentes. Para las tuplas de valor con más de ocho componentes, debe llamar al ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor .

Tuplas de serialización y valor

El ValueTuple tipo no es serializable en .NET Core 1.x o en la .NET Framework 4.7 y versiones anteriores. Además, .NET Standard, incluido .NET Standard 2.0, no exige la serialización de ValueTuple instancias; si una ValueTuple instancia es serializable depende de la implementación individual de .NET Standard. Para determinar si un ValueTuple tipo es serializable en una implementación de .NET determinada, obtenga un Type objeto que represente el ValueTuple tipo y recupere el valor de su IsSerializable propiedad. Para obtener una lista de tipos serializables en .NET Core y el .NET Framework, vea Serialización binaria.

Métodos

CompareTo(ValueTuple)

Compara la instancia de ValueTuple actual con una instancia de ValueTuple especificada.

Create()

Crea una nueva tupla de valor con cero componentes.

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

Crea una nueva tupla de valor con ocho componentes (una óctupla).

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

Crea una nueva tupla de valor con siete componentes (una séptupla).

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

Crea una nueva tupla de valor con seis componentes (una séxtupla).

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

Crea una nueva tupla de valor con cinco componentes (una quíntupla).

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

Crea una nueva tupla de valor con cuatro componentes (una cuádrupla).

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

Crea una nueva tupla de valor con tres componentes (una tripla).

Create<T1,T2>(T1, T2)

Crea una nueva tupla de valor con dos componentes (un par).

Create<T1>(T1)

Crea una nueva tupla de valor con un componente (un singleton).

Equals(Object)

Devuelve un valor que indica si la instancia de ValueTuple actual es igual que un objeto especificado.

Equals(ValueTuple)

Determina si dos instancias de ValueTuple son iguales. Este método devuelve siempre true.

GetHashCode()

Devuelve el código hash de la instancia de ValueTuple actual.

ToString()

Devuelve la representación de cadena de esta instancia de ValueTuple.

Implementaciones de interfaz explícitas

IComparable.CompareTo(Object)

Compara esta instancia de ValueTuplecon un objeto especificado y devuelve una indicación de los valores relativos.

IStructuralComparable.CompareTo(Object, IComparer)

Compara la instancia de ValueTuple actual con un objeto especificado.

IStructuralEquatable.Equals(Object, IEqualityComparer)

Devuelve un valor que indica si la instancia de ValueTuple actual es igual que un objeto especificado basado en un método de comparación especificado.

IStructuralEquatable.GetHashCode(IEqualityComparer)

Devuelve el código hash de esta instancia de ValueTuple.

ITuple.Item[Int32]

Devuelve un valor IndexOutOfRangeException. No hay ningún elemento en ValueTuple.

ITuple.Length

Obtiene la longitud de esta instancia de ValueTuple, que es siempre 0. No hay ningún elemento en ValueTuple.

Se aplica a