Nozioni di base sulle tuple di valori
Crei tuple leggere per raggruppare i dati.
Nozioni di base sulle tuple di valori è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Che cos'è una tupla?
Una tupla raggruppa più valori in un unico contenitore leggero senza definire una classe. Le tuple di valori di C# usano le parentesi: (int, string).
using System;
class Program
{
static void Main()
{
(int, string) pair = (1, "one");
Console.WriteLine(pair.Item1 + " = " + pair.Item2);
}
}Creare una tupla di valori
Scriva i valori tra parentesi. Il compilatore deduce da essi il tipo della tupla.
using System;
class Program
{
static void Main()
{
var point = (3, 4);
Console.WriteLine("x=" + point.Item1 + ", y=" + point.Item2);
}
}Accedere agli elementi: Item1, Item2
Gli elementi senza nome di una tupla si raggiungono tramite Item1, Item2, Item3 e così via, nell'ordine.
using System;
class Program
{
static void Main()
{
var rgb = (255, 128, 0);
Console.WriteLine("R=" + rgb.Item1 + " G=" + rgb.Item2 + " B=" + rgb.Item3);
}
}Le tuple contengono tipi diversi
Ogni elemento può avere un tipo diverso. Una tupla può combinare numeri, stringhe, valori booleani e altro ancora.
using System;
class Program
{
static void Main()
{
var user = ("Ada", 36, true);
Console.WriteLine(user.Item1 + ", age " + user.Item2 + ", active=" + user.Item3);
}
}Le tuple sono mutabili
Gli elementi di una tupla di valori possono essere riassegnati, perché ogni ItemN è un campo scrivibile.
using System;
class Program
{
static void Main()
{
var score = (player: "A", points: 0);
score.points = 10;
score.points += 5;
Console.WriteLine(score.player + ": " + score.points);
}
}Le tuple come raggruppamenti locali
Le tuple sono ideali per raggruppare temporaneamente valori all'interno di un metodo senza creare un tipo dedicato.
using System;
class Program
{
static void Main()
{
var range = (min: 5, max: 50);
int span = range.max - range.min;
Console.WriteLine("Span: " + span);
}
}Confrontare le tuple
Le tuple di valori supportano l'uguaglianza: due tuple sono uguali se tutti gli elementi corrispondenti sono uguali.
using System;
class Program
{
static void Main()
{
var a = (1, 2);
var b = (1, 2);
var c = (1, 3);
Console.WriteLine(a == b);
Console.WriteLine(a == c);
}
}Annidare le tuple
Un elemento di una tupla può essere a sua volta una tupla, consentendo di costruire piccoli gruppi strutturati.
using System;
class Program
{
static void Main()
{
var line = (start: (0, 0), end: (3, 4));
Console.WriteLine("From " + line.start.Item1 + "," + line.start.Item2 +
" to " + line.end.Item1 + "," + line.end.Item2);
}
}Tuple nelle raccolte
Può memorizzare tuple in una lista per mantenere insieme dati associati senza creare una classe.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var scores = new List<(string, int)>
{
("Ann", 90),
("Bob", 85)
};
foreach (var s in scores)
Console.WriteLine(s.Item1 + ": " + s.Item2);
}
}Semantica dei valori
Una tupla di valori è una struct, quindi assegnarla copia i valori. Modificare la copia non influisce sull'originale.
using System;
class Program
{
static void Main()
{
var original = (n: 1);
var copy = original;
copy.n = 99;
Console.WriteLine("original=" + original.n + ", copy=" + copy.n);
}
}In sintesi
Le tuple di valori offrono raggruppamenti tipizzati e rapidi, ideali per dati di breve durata all'interno di un metodo o di una lista semplice.
using System;
class Program
{
static void Main()
{
var result = (count: 3, total: 150);
double average = (double)result.total / result.count;
Console.WriteLine("Average: " + average.ToString("0.0"));
}
}Verifica rapida
Verifichi la Sua comprensione delle tuple di valori.
Riepilogo
Una tupla di valori raggruppa più valori tra parentesi, come (int, string), senza richiedere una classe. Gli elementi senza nome sono accessibili tramite Item1 e Item2. Le tuple sono struct mutabili con semantica dei valori e supportano l'uguaglianza. Sono ideali per raggruppamenti locali e rapidi.
using System;
class Program
{
static void Main()
{
var t = (1, "one", true);
Console.WriteLine(t.Item1 + " " + t.Item2 + " " + t.Item3);
}
}Domande Frequenti
La lezione «Nozioni di base sulle tuple di valori» è gratuita?
Sì — il testo completo di «Nozioni di base sulle tuple di valori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Nozioni di base sulle tuple di valori»?
Crei tuple leggere per raggruppare i dati. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Nozioni di base sulle tuple di valori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Nozioni di base sulle tuple di valori
- Elementi denominati delle tuple
- Decomposizione
- Tuple come valori restituiti dai metodi