ValueTuple ValueTuple ValueTuple ValueTuple Struct

Definición

Proporciona los métodos estáticos para crear 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
Herencia
ValueTupleValueTupleValueTupleValueTuple
Atributos
Implementaciones

Comentarios

Una tupla es una estructura de datos que tiene un número específico y la secuencia de elementos.A tuple is a data structure that has a specific number and sequence of elements. Un ejemplo de una tupla es una estructura de datos con tres elementos (conocido como una tupla de 3 o triple) que se usa para almacenar un identificador como nombre de una persona en el primer elemento, un año en el segundo elemento y los ingresos de la persona de dicho año en el tercer 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.

Las tuplas de valor son tipos de tupla que se introdujo en la .NET Framework 4.7.NET Framework 4.7 para proporcionar la implementación en tiempo de ejecución de tuplas en C# y tuplas de struct en 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#. Se diferencian de las clases de tupla, como Tuple<T1>, Tuple<T1,T2>, etc., como se indica a continuación:They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • Son estructuras (tipos de valor) en lugar de clases (tipos de referencia).They are structures (value types) rather than classes (reference types).

  • Son mutables en lugar de solo lectura.They are mutable rather than read-only. Es decir, puede cambiar el valor de los componentes de la tupla.That is, the value of tuple components can change.

  • Sus miembros de datos, como Item1, Item2, etc., son los campos en lugar de propiedades.Their data members, such as Item1, Item2, etc., are fields rather than properties.

El ValueTuple estructura representa una tupla que no tiene elementos.The ValueTuple structure represents a tuple that has no elements. Resulta útil principalmente para sus métodos estáticos que le permiten crear y comparar instancias 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. Sus métodos auxiliares permiten crear una instancia de tuplas de valor sin tener que especificar explícitamente el tipo de cada componente de la tupla de valor.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. Mediante una llamada a su estático Create métodos, puede crear tuplas de valor que tienen de cero a ocho componentes.By calling its static Create methods, you can create value tuples that have from zero to eight components. Las tuplas de valor con más de ocho componentes, debe llamar a la ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Serialización y el valor de tuplasSerialization and value tuples

El ValueTuple tipo no es serializable en .NET Core 1.x o en .NET Framework 4.7 y versiones anteriores.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. Además, .NET Standard, incluidos .NET Standard 2.0, no impone la serialización de ValueTuple instancias; si un ValueTuple es serializable instancia depende de la implementación 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 si un ValueTuple tipo es serializable en una implementación concreta. NET, obtenga una Type objeto que representa el ValueTuple escriba y recuperar el valor de su IsSerializable propiedad.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 obtener una lista de tipos serializables en .NET Core y .NET Framework, vea serialización binaria.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 la instancia de ValueTuple actual con una instancia de ValueTuple especificada.Compares the current ValueTuple instance to a specified ValueTuple instance.

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

Crea una nueva tupla de valor con cero componentes.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)

Crea una nueva tupla de valor con ocho componentes (una óctupla).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)

Crea una nueva tupla de valor con siete componentes (una séptupla).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)

Crea una nueva tupla de valor con seis componentes (una séxtupla).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)

Crea una nueva tupla de valor con cinco componentes (una quíntupla).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)

Crea una nueva tupla de valor con cuatro componentes (una cuádrupla).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)

Crea una nueva tupla de valor con tres componentes (una tripla).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)

Crea una nueva tupla de valor con dos componentes (un par).Creates a new value tuple with 2 components (a pair).

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

Crea una nueva tupla de valor con un componente (un singleton).Creates a new value tuple with 1 component (a singleton).

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

Determina si dos instancias de ValueTuple son iguales.Determines whether two ValueTuple instances are equal. Este método devuelve siempre true.This method always returns true.

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

Devuelve un valor que indica si la instancia de ValueTuple actual es igual que un objeto especificado.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

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

Devuelve el código hash de la instancia de ValueTuple actual.Returns the hash code for the current ValueTuple instance.

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

Devuelve la representación de cadena de esta instancia de ValueTuple.Returns the string representation of this ValueTuple instance.

Implementaciones de interfaz explícitas

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

Compara la instancia de ValueTuple actual con un 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)

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.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)

Devuelve el código hash de esta instancia de ValueTuple.Returns the hash code for this ValueTuple instance.

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

Compara esta instancia de ValueTuplecon un objeto especificado y devuelve una indicación de los 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]

Devuelve un valor IndexOutOfRangeException.Returns an IndexOutOfRangeException. No hay ningún elemento en ValueTuple.There are no elements in a ValueTuple.

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

Obtiene la longitud de esta instancia de ValueTuple, que es siempre 0.Gets the length of this ValueTuple instance, which is always 0. No hay ningún elemento en ValueTuple.There are no elements in a ValueTuple.

Se aplica a