ValueTuple ValueTuple ValueTuple ValueTuple Struct

Definizione

Fornisce i metodi statici per la creazione delle tuple di valori.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
Ereditarietà
ValueTupleValueTupleValueTupleValueTuple
Attributi
Implementazioni

Commenti

Una tupla è una struttura dati con un numero e una sequenza specificati di elementiA tuple is a data structure that has a specific number and sequence of elements. Un esempio di tupla è una struttura di dati costituita da tre elementi, nota come tupla con 3 elementi o terna, utilizzata per archiviare un identificatore come il nome di una persona nel primo elemento, un anno nel secondo elemento e il reddito della persona relativo a tale anno nel terzo 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.

Le tuple di valori sono tipi di tupla introdotti in .NET Framework 4.7.NET Framework 4.7 per fornire l'implementazione di runtime delle tuple in C# e le tuple struct in. 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#. Si differenziano dalle classi di tupla, ad esempio Tuple<T1>, Tuple<T1,T2> e così via, come indicato di seguito:They differ from the tuple classes, such as Tuple<T1>, Tuple<T1,T2>, etc., as follows:

  • Sono strutture (tipi di valore) anziché classi (tipi di riferimento).They are structures (value types) rather than classes (reference types).

  • Sono modificabili piuttosto che di sola lettura.They are mutable rather than read-only. Ovvero è possibile modificare il valore dei componenti della tupla.That is, the value of tuple components can change.

  • I membri dati, ad esempio Item1, Item2 e così via, sono campi anziché proprietà.Their data members, such as Item1, Item2, etc., are fields rather than properties.

La struttura ValueTuple rappresenta una tupla priva di elementi.The ValueTuple structure represents a tuple that has no elements. È utile principalmente per i metodi statici che consentono di creare e confrontare istanze di tipi di tupla di valori.It is useful primarily for its static methods that let you create and compare instances of value tuple types. I metodi helper consentono di creare un'istanza delle tuple di valori senza dover specificare in modo esplicito il tipo di ogni componente di tupla di valori.Its helper methods let you instantiate value tuples without having to explicitly specify the type of each value tuple component. Chiamando i metodi statici Create, è possibile creare tuple di valori che hanno da zero a otto componenti.By calling its static Create methods, you can create value tuples that have from zero to eight components. Per le tuple di valori con più di otto componenti, è necessario chiamare il costruttore ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest>.For value tuples with more than eight components, you must call the ValueTuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor.

Serializzazione e Tuple di valoriSerialization and value tuples

Il tipo ValueTuple non è serializzabile in .NET Core 1. x o nel .NET Framework 4,7 e nelle versioni precedenti.The ValueTuple type is not serializable in .NET Core 1.x or in the .NET Framework 4.7 and earlier versions. Inoltre, .NET Standard, incluso .NET Standard 2,0, non impone la serializzazione delle istanze di @no__t 0. la possibilità di serializzare o meno un'istanza ValueTuple dipende dall'implementazione del singolo .NET Standard.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. Per determinare se un tipo ValueTuple è serializzabile in una particolare implementazione di .NET, ottenere un oggetto Type che rappresenta il tipo ValueTuple e recuperare il valore della proprietà IsSerializable.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. Per un elenco di tipi serializzabili in .NET Core e nella .NET Framework, vedere serializzazione binaria.For a list of serializable types in .NET Core and the .NET Framework, see Binary Serialization.

Metodi

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

Confronta l'istanza corrente di ValueTuple con l'istanza specificata di ValueTuple.Compares the current ValueTuple instance to a specified ValueTuple instance.

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

Crea una nuova tupla di valori senza componenti.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 nuova tupla di valori con 8 componenti (ottupla).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 nuova tupla di valori con 7 componenti (settupla).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 nuova tupla di valori con 6 componenti (sestupla).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 nuova tupla di valori con 5 componenti (quintupla).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 nuova tupla di valori con 4 componenti (quadrupla).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 nuova tupla di valori con 3 componenti (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 nuova tupla di valori con 2 componenti (coppia).Creates a new value tuple with 2 components (a pair).

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

Crea una nuova tupla di valori con 1 componente (singleton).Creates a new value tuple with 1 component (a singleton).

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

Determina se due istanze di ValueTuple sono uguali.Determines whether two ValueTuple instances are equal. Questo metodo restituisce sempre true.This method always returns true.

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

Restituisce un valore che indica se l'istanza corrente di ValueTuple è uguale a un oggetto specificato.Returns a value that indicates whether the current ValueTuple instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza corrente di ValueTuple.Returns the hash code for the current ValueTuple instance.

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

Restituisce la rappresentazione di stringa di questa istanza di ValueTuple.Returns the string representation of this ValueTuple instance.

Implementazioni dell'interfaccia esplicita

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

Confronta l'istanza corrente di ValueTuple con un oggetto specificato.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)

Restituisce un valore che indica se l'istanza corrente di ValueTuple è uguale a un oggetto specificato in base a un metodo di confronto specificato.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)

Restituisce il codice hash per questa istanza di ValueTuple.Returns the hash code for this ValueTuple instance.

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

Confronta questa istanza di ValueTuple con un oggetto specificato e restituisce un'indicazione dei valori relativi.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]

Restituisce un oggetto IndexOutOfRangeException.Returns an IndexOutOfRangeException. Nessun elemento disponibile in un ValueTuple.There are no elements in a ValueTuple.

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

Ottiene la lunghezza di questa istanza di ValueTuple che è sempre 0.Gets the length of this ValueTuple instance, which is always 0. Nessun elemento disponibile in un ValueTuple.There are no elements in a ValueTuple.

Si applica a