ValueTuple ValueTuple ValueTuple ValueTuple Struct

Définition

Fournit des méthodes statiques pour la création de tuples de valeur.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
Héritage
ValueTupleValueTupleValueTupleValueTuple
Attributs
Implémente

Remarques

Un tuple est une structure de données qui a un nombre spécifique et une séquence d’éléments.A tuple is a data structure that has a specific number and sequence of elements. Un exemple d’un tuple est une structure de données avec trois éléments (connue en tant que 3 tuples ou triple) qui est utilisée pour stocker un identificateur tel qu’un nom de personne dans le premier élément, une année dans le deuxième élément et les revenus de la personne pour cette année dans le troisième élément.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.

Les tuples de valeur sont des types de tuple introduits dans le .NET Framework 4.7.NET Framework 4.7 pour fournir l’implémentation du runtime tuples dans C# et les tuples de struct dans 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#. Ils diffèrent les classes de tuple, tel que Tuple<T1>, Tuple<T1,T2>, etc., comme suit :They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • Ils sont des structures (types valeur) au lieu de classes (types référence).They are structures (value types) rather than classes (reference types).

  • Ils sont mutables et non en lecture seule.They are mutable rather than read-only. Autrement dit, la valeur des composants du tuple peut modifier.That is, the value of tuple components can change.

  • Leurs membres de données, tel que Item1, Item2, etc., sont des champs plutôt que des propriétés.Their data members, such as Item1, Item2, etc., are fields rather than properties.

Le ValueTuple structure représente un tuple qui ne comporte aucun élément.The ValueTuple structure represents a tuple that has no elements. Il est utile principalement pour les méthodes statiques qui vous permettent de créer et de comparer des instances de types de tuple de valeur.It is useful primarily for its static methods that let you create and compare instances of value tuple types. Ses méthodes d’assistance vous permettent d’instancier des tuples de valeur sans avoir à spécifier explicitement le type de chaque composant du tuple de valeur.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. En appelant son statique Create méthodes, vous pouvez créer des tuples de valeur ont compris entre zéro et huit composants.By calling its static Create methods, you can create value tuples that have from zero to eight components. Pour les tuples de valeur avec plus de huit composants, vous devez appeler la ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructeur.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Tuples de sérialisation et la valeurSerialization and value tuples

Le ValueTuple type n’est pas sérialisable dans .NET Core 1.x ou dans le .NET Framework 4.7 et versions antérieures.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. En outre, .NET Standard, y compris .NET Standard 2.0, n’impose pas de sérialisation ValueTuple instances ; ou non un ValueTuple instance est sérialisable dépend de l’implémentation de .NET Standard individuelle.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. Pour déterminer si un ValueTuple type est sérialisable sur une implémentation particulière de .NET, obtenez un Type objet qui représente le ValueTuple tapez et récupérer la valeur de son IsSerializable propriété.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. Pour obtenir la liste des types sérialisables dans .NET Core et .NET Framework, consultez sérialisation binaire.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

Méthodes

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

Compare l'instance ValueTuple actuelle avec une instance ValueTuple spécifiée.Compares the current ValueTuple instance to a specified ValueTuple instance.

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

Crée un nouveau tuple de valeur avec zéro composant.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)

Crée un nouveau tuple de valeur avec 8 composants (octuple).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)

Crée un nouveau tuple de valeur avec 7 composants (septuple).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)

Crée un nouveau tuple de valeur avec 6 composants (sextuple).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)

Crée un nouveau tuple de valeur avec 5 composants (quintuple).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)

Crée un nouveau tuple de valeur avec 4 composants (quadruple).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)

Crée un nouveau tuple de valeur avec 3 composants (triple).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)

Crée un nouveau tuple de valeur avec 2 composants (paire).Creates a new value tuple with 2 components (a pair).

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

Crée un nouveau tuple de valeur avec 1 composant (singleton).Creates a new value tuple with 1 component (a singleton).

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

Détermine si deux instances ValueTuple sont égales.Determines whether two ValueTuple instances are equal. Cette méthode retourne toujours la valeur true.This method always returns true.

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

Retourne une valeur qui indique si l’instance ValueTuple actuelle est égale à un objet spécifié.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

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

Retourne le code de hachage pour l'instance ValueTuple actuelle.Returns the hash code for the current ValueTuple instance.

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

Retourne la représentation sous forme de chaîne de cette instance ValueTuple.Returns the string representation of this ValueTuple instance.

Implémentations d’interfaces explicites

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

Compare l'instance ValueTuple actuelle avec un objet spécifié.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)

Retourne une valeur qui indique si l’instance ValueTuple actuelle équivaut à un objet spécifié sur la base d’une méthode de comparaison spécifiée.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)

Retourne le code de hachage de cette instance ValueTuple.Returns the hash code for this ValueTuple instance.

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

Compare cette instance ValueTuple à un objet spécifié et retourne une indication de leurs valeurs relatives.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]

Retourne un IndexOutOfRangeException.Returns an IndexOutOfRangeException. Il n’y a aucun élément dans un ValueTuple.There are no elements in a ValueTuple.

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

Obtient la longueur de cette instance de ValueTuple, qui est toujours 0.Gets the length of this ValueTuple instance, which is always 0. Il n’y a aucun élément dans un ValueTuple.There are no elements in a ValueTuple.

S’applique à