Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> Class

Definizione

Rappresenta una tupla di n valori, dove n è maggiore o uguale a 8.Represents an n-tuple, where n is 8 or greater.

generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename TRest>
public ref class Tuple : IComparable, System::Collections::IStructuralComparable, System::Collections::IStructuralEquatable
[System.Serializable]
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> : IComparable, System.Collections.IStructuralComparable, System.Collections.IStructuralEquatable
type Tuple<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'Rest> = class
    interface IStructuralEquatable
    interface IStructuralComparable
    interface IComparable
Public Class Tuple(Of T1, T2, T3, T4, T5, T6, T7, TRest)
Implements IComparable, IStructuralComparable, IStructuralEquatable

Parametri di tipo

T1

Tipo del primo componente della tupla.The type of the tuple's first component.

T2

Tipo del secondo componente della tupla.The type of the tuple's second component.

T3

Tipo del terzo componente della tupla.The type of the tuple's third component.

T4

Tipo del quarto componente della tupla.The type of the tuple's fourth component.

T5

Tipo del quinto componente della tupla.The type of the tuple's fifth component.

T6

Tipo del sesto componente della tupla.The type of the tuple's sixth component.

T7

Tipo del settimo componente della tupla.The type of the tuple's seventh component.

TRest

Qualsiasi oggetto Tuple generico che definisce i tipi dei componenti restanti della tupla.Any generic Tuple object that defines the types of the tuple's remaining components.

Ereditarietà
Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>
Attributi
Implementazioni

Commenti

Una tupla è una struttura di dati con un numero e una sequenza di valori.A tuple is a data structure that has a specific number and sequence of values. Il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> classe rappresenta un n- tupla che dispone di otto o più componenti.The Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class represents an n-tuple that has eight or more components.

È possibile creare un'istanza di un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetti con componenti esattamente otto chiamando il metodo statico Tuple.Create (metodo).You can instantiate a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object with exactly eight components by calling the static Tuple.Create method. L'esempio seguente crea una tupla con 8 componenti (ottupla) che contiene i numeri primi che sono meno di 20.The following example creates an 8-tuple (octuple) that contains prime numbers that are less than 20. Si noti che usa l'inferenza del tipo per determinare il tipo di ogni componente.Note that it uses type inference to determine the type of each component.

var primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19);
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1);
// The example displays the following output:
//    Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19
Dim primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
Console.WriteLine("Prime numbers less than 20: " + 
                  "{0}, {1}, {2}, {3}, {4}, {5}, {6}, and {7}",
                  primes.Item1, primes.Item2, primes.Item3, 
                  primes.Item4, primes.Item5, primes.Item6,
                  primes.Item7, primes.Rest.Item1)
' The example displays the following output:
'     Prime numbers less than 20: 2, 3, 5, 7, 11, 13, 17, and 19

È anche possibile creare l'istanza di un oggetto n-plo con otto o più componenti chiamando il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore.You can also instantiate an n-tuple object with eight or more components by calling the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor. L'esempio seguente usa il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore per creare una tupla con 8 elementi che è equivalente alla tupla creata nell'esempio precedente.The following example uses the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor to create an 8-tuple that is equivalent to the tuple created in the previous example.

var primes = new Tuple<Int32, Int32, Int32, Int32, Int32, Int32, Int32,  
             Tuple<Int32>> (2, 3, 5, 7, 11, 13, 17, new Tuple<Int32>(19));
Dim primes = New Tuple(Of Int32, Int32, Int32, Int32, Int32, Int32, Int32, _ 
             Tuple(Of Int32))(2, 3, 5, 7, 11, 13, 17, New Tuple(Of Int32)(19))

Nota

Per creare una tupla con n elementi con nove o più componenti, è necessario chiamare il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore.To create an n-tuple with nine or more components, you must call the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor. I metodi factory statici del Tuple classe non supportano la creazione di Tuple oggetti con più di otto componenti.The static factory methods of the Tuple class do not support the creation of Tuple objects with more than eight components.

Creare un'istanza di una tupla con n elementi con otto o più componenti con i Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore, è fornire un oggetto generico Tuple dell'oggetto come il rest parametro per definire l'intervallo tra l'ottavo ncomponente della tupla.To instantiate an n-tuple that has eight or more components with the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> constructor, you supply a generic Tuple object as the rest parameter to define the eighth through nth components of the tuple. Annidando generico Tuple gli oggetti in questo modo, è possibile creare una tupla che non è previste limitazioni pratiche per il numero dei relativi componenti.By nesting generic Tuple objects in this way, you can create a tuple that has no practical limitation on the number of its components.

L'esempio seguente crea una tupla con 17 elementi che contiene i dati della popolazione della città di Detroit, Michigan, per ogni censimento dal 1860 national a 2000.The following example creates a 17-tuple that contains population data for the city of Detroit, Michigan, for each national census from 1860 to 2000. Il primo componente della tupla è il nome della città.The first component of the tuple is the city name. Il secondo componente è la data di inizio della serie di dati e il terzo componente rappresenta la popolazione in corrispondenza della data di inizio.The second component is the start date of the data series, and the third component is the population at the start date. Ogni componente successivo fornisce la popolazione in intervalli di dieci anni.Each subsequent component provides the population at decade intervals. Viene creata la tupla con 17 elementi annidando un Tuple<T1,T2,T3> dell'oggetto all'interno di un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto.The 17-tuple is created by nesting a Tuple<T1,T2,T3> object inside a Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object. (Che è, il Tuple<T1,T2,T3> viene fornito come valore dell'oggetto di rest parametro nel Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore della classe.) Ciò Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetti, a sua volta, annidato in un outer Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto.(That is, the Tuple<T1,T2,T3> object is supplied as the value of the rest parameter in the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class constructor.) This Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is, in turn, nested in an outer Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object. (Che è, il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> viene fornito come valore dell'oggetto di rest parametro esterna Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore della classe dell'oggetto.)(That is, the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is supplied as the value of the rest parameter in the outer Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's class constructor.)

var from1980 = Tuple.Create(1203339, 1027974, 951270);
var from1910 = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>> 
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980);
var population = new Tuple<string, int, int, int, int, int, int,
    Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>> 
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910);
Dim from1980 = Tuple.Create(1203339, 1027974, 951270)
Dim from1910 As New Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, _
    Tuple(Of Integer, Integer, Integer)) _
    (465766, 993078, 1568622, 1623452, 1849568, 1670144, 1511462, from1980)
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer, _ 
    Tuple(Of Integer, Integer, Integer, Integer, Integer, Integer, Integer, Tuple(Of Integer, Integer, Integer))) _
    ("Detroit", 1860, 45619, 79577, 116340, 205876, 285704, from1910)

È possibile recuperare il valore di primi sette componenti della tupla di valori usando le proprietà di sola lettura Item1, Item2, Item3, Item4, Item5, Item6, e Item7 delle proprietà dell'istanza.You can retrieve the value of the tuple's first seven components by using the read-only Item1, Item2, Item3, Item4, Item5, Item6, and Item7 instance properties. Tutti i componenti aggiuntivi sono annidati e possono essere recuperati dal Rest proprietà.Any additional components are nested and can be retrieved from the Rest property. Nell'esempio precedente, il Item1 tramite Item7 proprietà recuperano il primo al settimo componente della tupla.In the previous example, the Item1 through Item7 properties retrieve the first through seventh components of the tuple. L'ottavo attraverso componenti quattordicesimo sono contenuti nella tupla nidificato nel secondo livello e sono rappresentati dal Rest.Item1 tramite Rest.Item7 proprietà.The eighth through fourteenth components are contained in the tuple that is nested at the second level, and are represented by the Rest.Item1 through Rest.Item7 properties. I componenti diciassettesimo quindicesimo e sono contenuti nella tupla nidificata al terzo livello e sono rappresentati dal Rest.Rest.Item1 anche se Rest.Rest.Item3 proprietà.The fifteenth through seventeenth components are contained in the tuple that is nested at the third level, and are represented by the Rest.Rest.Item1 though Rest.Rest.Item3 properties.

Le tuple sono comunemente usate in quattro modi diversi:Tuples are commonly used in four different ways:

  • Per rappresentare un singolo set di dati.To represent a single set of data. Ad esempio, una tupla può rappresentare un record di database e i relativi componenti possono rappresentare i singoli campi del record.For example, a tuple can represent a database record, and its components can represent individual fields of the record.

  • Per fornire accesso semplificato alle e la manipolazione di, un set di dati.To provide easy access to, and manipulation of, a data set.

  • Per restituire più valori da un metodo senza usare out parametri (in C#) o ByRef parametri (in Visual Basic).To return multiple values from a method without the use of out parameters (in C#) or ByRef parameters (in Visual Basic). Ad esempio, nell'esempio precedente restituisce le statistiche calcolate, insieme al nome di città, in un Tuple<T1,T2,T3,T4,T5,T6,T7> oggetto.For example, the previous example returns its computed statistics, along with the city name, in a Tuple<T1,T2,T3,T4,T5,T6,T7> object.

  • Per passare più valori a un metodo tramite un singolo parametro.To pass multiple values to a method through a single parameter. Ad esempio, il Thread.Start(Object) metodo ha un singolo parametro che consente di fornire un valore al metodo eseguito dal thread all'avvio.For example, the Thread.Start(Object) method has a single parameter that lets you supply one value to the method that the thread executes at startup. Se si fornisce un Tuple<T1,T2,T3,T4,T5,T6,T7> dell'oggetto come argomento del metodo, è possibile fornire routine di avvio del thread con sette elementi di dati.If you supply a Tuple<T1,T2,T3,T4,T5,T6,T7> object as the method argument, you can supply the thread's startup routine with seven items of data.

Costruttori

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

Inizializza una nuova istanza della classe Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Initializes a new instance of the Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> class.

Proprietà

Item1 Item1 Item1 Item1

Ottiene il valore del primo componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's first component.

Item2 Item2 Item2 Item2

Ottiene il valore del secondo componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's second component.

Item3 Item3 Item3 Item3

Ottiene il valore del terzo componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's third component.

Item4 Item4 Item4 Item4

Ottiene il valore del quarto componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's fourth component.

Item5 Item5 Item5 Item5

Ottiene il valore del quinto componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's fifth component.

Item6 Item6 Item6 Item6

Ottiene il valore del sesto componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's sixth component.

Item7 Item7 Item7 Item7

Ottiene il valore del settimo componente dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the value of the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's seventh component.

Rest Rest Rest Rest

Ottiene i componenti restanti dell'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Gets the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object's remaining components.

Metodi

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

Restituisce un valore che indica se l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente è uguale a un oggetto specificato.Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is equal to a specified object.

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

Calcola il codice hash per l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente.Calculates the hash code for the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta il valore di questa istanza di Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Returns a string that represents the value of this Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> instance.

Implementazioni dell'interfaccia esplicita

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

Confronta l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente con un oggetto specificato e restituisce un intero che indica se l'oggetto corrente precede, segue o si trova nella stessa posizione dell'oggetto specificato nell'ordinamento.Compares the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to a specified object and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

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

Confronta l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente con un oggetto specificato mediante un operatore di confronto specificato e restituisce un Integer che indica se l'oggetto corrente precede, segue o si trova nella stessa posizione dell'oggetto specificato all'interno dell'ordinamento.Compares the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object to a specified object by using a specified comparer and returns an integer that indicates whether the current object is before, after, or in the same position as the specified object in the sort order.

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

Restituisce un valore che indica se l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente è uguale a un oggetto specificato in base a un metodo di confronto specificato.Returns a value that indicates whether the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object is equal to a specified object based on a specified comparison method.

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

Calcola il codice hash per l'oggetto Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> corrente tramite un metodo di calcolo specificato.Calculates the hash code for the current Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> object by using a specified computation method.

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

Ottiene il valore dell'elemento Tuple specificato.Gets the value of the specified Tuple element.

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

Ottiene il numero di elementi in Tuple.Gets the number of elements in the Tuple.

Si applica a

Vedi anche