Tuple Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce metodi statici per la creazione di oggetti tupla.
public ref class Tuple abstract sealed
public static class Tuple
type Tuple = class
Public Class Tuple
- Ereditarietà
-
Tuple
Esempio
Nell'esempio seguente viene creata una tupla a 8 (ottuple) contenente numeri primi minori di 20.
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
open System
let primes = Tuple.Create(2, 3, 5, 7, 11, 13, 17, 19)
printfn $"Prime numbers less than 20: {primes.Item1}, {primes.Item2}, {primes.Item3}, {primes.Item4}, {primes.Item5}, {primes.Item6}, {primes.Item7}, and {primes.Rest.Item1}"
// 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
Commenti
Una tupla è una struttura di dati con un numero e una sequenza specifici di elementi. Un esempio di tupla è una struttura di dati con tre elementi (noti come 3 tuple o triple) che viene usata per archiviare un identificatore, ad esempio il nome di una persona nel primo elemento, un anno nel secondo elemento e il reddito della persona per tale anno nel terzo elemento. .NET Framework supporta direttamente le tuple con uno o sette elementi. Inoltre, è possibile creare tuple di otto o più elementi annidando oggetti tupla nella Rest proprietà di un Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> oggetto .
Le tuple vengono comunemente usate in quattro modi:
Per rappresentare un singolo set di dati. Ad esempio, una tupla può rappresentare un record di database e i relativi componenti possono rappresentare singoli campi del record.
Per semplificare l'accesso e la manipolazione di un set di dati.
Per restituire più valori da un metodo senza usare
outparametri (in C#) oByRefparametri (in Visual Basic).Per passare più valori a un metodo tramite un singolo parametro. Ad esempio, il Thread.Start(Object) metodo ha un singolo parametro che consente di fornire un valore al metodo eseguito dal thread in fase di avvio. Se si specifica un Tuple<T1,T2,T3> oggetto come argomento del metodo, è possibile specificare la routine di avvio del thread con tre elementi di dati.
La Tuple classe non rappresenta una tupla. Si tratta invece di una classe che fornisce metodi statici per la creazione di istanze dei tipi di tupla supportati da .NET Framework. Fornisce metodi helper che è possibile chiamare per creare un'istanza di oggetti tupla senza dover specificare in modo esplicito il tipo di ogni componente tupla.
Anche se è possibile creare un'istanza di una classe di tupla chiamando il relativo costruttore di classe, il codice a tale scopo può essere complesso. Nell'esempio seguente viene usato un costruttore di classe per creare una tupla da 7 o setto contenente i dati sulla popolazione per ogni censimento compreso tra il 1950 e il 2000.
// Create a 7-tuple.
var population = new Tuple<string, int, int, int, int, int, int>(
"New York", 7891957, 7781984,
7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
population.Item1, population.Item7);
// The example displays the following output:
// Population of New York in 2000: 8,008,278
// Create a 7-tuple.
let population = Tuple<string, int, int, int, int, int, int>(
"New York", 7891957, 7781984,
7894862, 7071639, 7322564, 8008278)
// Display the first and last elements.
printfn $"Population of {population.Item1} in 2000: {population.Item7:N0}"
// The example displays the following output:
// Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population As New Tuple(Of String, Integer, Integer, Integer, Integer, Integer, Integer) _
("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
population.Item1, population.Item7)
' The example displays the following output:
' Population of New York in 2000: 8,008,278
La creazione dello stesso oggetto tupla tramite un metodo helper è più semplice, come illustrato nell'esempio seguente.
// Create a 7-tuple.
var population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278);
// Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
population.Item1, population.Item7);
// The example displays the following output:
// Population of New York in 2000: 8,008,278
// Create a 7-tuple.
let population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
// Display the first and last elements.
printfn $"Population of {population.Item1} in 2000: {population.Item7:N0}"
// The example displays the following output:
// Population of New York in 2000: 8,008,278
' Create a 7-tuple.
Dim population = Tuple.Create("New York", 7891957, 7781984, 7894862, 7071639, 7322564, 8008278)
' Display the first and last elements.
Console.WriteLine("Population of {0} in 2000: {1:N0}",
population.Item1, population.Item7)
' The example displays the following output:
' Population of New York in 2000: 8,008,278
I Create metodi helper supportano direttamente la creazione di oggetti tupla che hanno da uno a otto componenti ( ovvero singleton attraverso ottupli). Anche se non esiste un limite pratico al numero di componenti che una tupla può avere, i metodi helper non sono disponibili per creare una tupla con nove o più componenti. Per creare una tupla di questo tipo, è necessario chiamare il Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>.Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> costruttore .
Annotazioni
Per altre informazioni ed esempi che usano tuple, vedere la documentazione per i singoli tipi di tupla in .NET Framework. Questi sono elencati nella sezione Vedere anche alla fine di questo argomento.
Metodi
| Nome | Descrizione |
|---|---|
| Create<T1,T2,T3,T4,T5,T6,T7,T8>(T1, T2, T3, T4, T5, T6, T7, T8) |
Crea una nuova tupla a 8 o ottuple. |
| Create<T1,T2,T3,T4,T5,T6,T7>(T1, T2, T3, T4, T5, T6, T7) |
Crea una nuova tupla da 7 o setto. |
| Create<T1,T2,T3,T4,T5,T6>(T1, T2, T3, T4, T5, T6) |
Crea una nuova tupla a 6 o sextuple. |
| Create<T1,T2,T3,T4,T5>(T1, T2, T3, T4, T5) |
Crea una nuova tupla da 5 o quintuple. |
| Create<T1,T2,T3,T4>(T1, T2, T3, T4) |
Crea una nuova tupla a 4 tuple o una quadrupla. |
| Create<T1,T2,T3>(T1, T2, T3) |
Crea una nuova tupla a 3 o tre. |
| Create<T1,T2>(T1, T2) |
Crea una nuova tupla a 2 o una nuova coppia. |
| Create<T1>(T1) |
Crea una nuova tupla a 1 o singleton. |