Iterare sulle collezioni
Liste, array e dizionari.
Iterare sulle collezioni è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Raccolte che può iterare
Molti tipi C# possono essere scorsi con foreach: array, List<T>, dizionari e altri ancora.
Tutti supportano l'iterazione perché implementano un'interfaccia comune. Non è necessario conoscerne i dettagli per usarli.
Iterare un array
Gli array hanno una dimensione fissa, definita al momento della creazione.
Può scorrere un array di qualsiasi tipo di elemento nello stesso modo.
double[] prices = { 9.99, 4.50, 19.00 };
foreach (var p in prices)
{
Console.WriteLine(p);
}Iterare una lista
Un List<T> può aumentare e diminuire di dimensione. È una delle raccolte più comuni.
Scorrerlo è esattamente come scorrere un array.
var fruits = new List<string> { "apple", "pear" };
foreach (var f in fruits)
{
Console.WriteLine(f);
}Contare durante l'iterazione
A volte può essere utile usare un contatore manuale all'interno di foreach.
Dichiari una variabile prima del ciclo e la incrementi a ogni iterazione.
var items = new List<string> { "a", "b", "c" };
int i = 0;
foreach (var item in items)
{
Console.WriteLine(i + ": " + item);
i++;
}Iterare un dizionario
Un Dictionary<K,V> memorizza coppie chiave-valore.
Scorrendolo ottiene un KeyValuePair con .Key e .Value.
var ages = new Dictionary<string, int>
{
["Ada"] = 36,
["Linus"] = 54
};
foreach (var pair in ages)
{
Console.WriteLine(pair.Key + "=" + pair.Value);
}Chiavi e valori di un dizionario
Se le servono solo le chiavi o solo i valori, usi le proprietà .Keys o .Values.
Ciascuna è a sua volta una raccolta che può scorrere.
foreach (var name in ages.Keys)
{
Console.WriteLine(name);
}Iterare un HashSet
Un HashSet<T> memorizza valori univoci. I duplicati vengono ignorati.
Può usare foreach anche su di esso, ma l'ordine non è garantito.
var tags = new HashSet<string> { "c#", "dotnet", "c#" };
foreach (var t in tags)
{
Console.WriteLine(t);
}Iterazione annidata
Può inserire un foreach all'interno di un altro per iterare una raccolta di raccolte.
Questo ciclo scorre ogni riga e poi ogni valore contenuto nella riga.
int[][] grid = { new[] {1, 2}, new[] {3, 4} };
foreach (var row in grid)
{
foreach (var v in row)
{
Console.WriteLine(v);
}
}Costruire un risultato
Un modello comune consiste nell'iterare una raccolta e aggiungere gli elementi trasformati a un'altra.
Qui raddoppiamo ogni numero e memorizziamo il risultato in una nuova lista.
var nums = new List<int> { 1, 2, 3 };
var doubled = new List<int>();
foreach (var n in nums)
{
doubled.Add(n * 2);
}
Console.WriteLine(string.Join(",", doubled));Raccolte vuote
Se una raccolta non contiene elementi, il corpo di foreach semplicemente non viene mai eseguito.
Non si verifica alcun errore. Questo rende foreach sicuro anche quando una lista potrebbe essere vuota.
var empty = new List<int>();
foreach (var x in empty)
{
Console.WriteLine("never printed");
}
Console.WriteLine("done");IEnumerable: il filo conduttore
Ogni raccolta iterabile implementa IEnumerable<T>.
Questo è il contratto su cui si basa foreach. Grazie a esso, la stessa sintassi del ciclo funziona con array, liste, set e dizionari.
Verifica rapida
Verifichi la sua comprensione dell'iterazione delle raccolte.
Riepilogo
Ha visto come funziona foreach con array, liste, dizionari e set.
Tutti condividono il contratto IEnumerable<T>, quindi un unico stile di ciclo si adatta a tutti. Le raccolte vuote sono sicure e i dizionari restituiscono coppie chiave-valore.
Domande Frequenti
La lezione «Iterare sulle collezioni» è gratuita?
Sì — il testo completo di «Iterare sulle collezioni» è 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 «Iterare sulle collezioni»?
Liste, array e dizionari. 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 2 di 4.
Quanto tempo richiede la lezione «Iterare sulle collezioni»?
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
- Il ciclo foreach
- Iterare sulle collezioni
- break e continue
- Errori comuni nell'iterazione