HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>
Comprendete la differenza tra insiemi di elementi unici e insiemi ordinati, nonché tra raccolte FIFO e LIFO; esercitatevi con Add/Contains, Enqueue/Dequeue e Push/Pop.
HashSet<T>, SortedSet<T>, Queue<T>, Stack<T> è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. 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 3 lezioni in totale.
Tipi di raccolte
Obiettivo: scelga la raccolta appropriata.
- HashSet<T>: valori univoci, ricerca rapida
- SortedSet<T>: valori univoci e ordinati
- Queue<T>: FIFO
- Stack<T>: LIFO
Nozioni di base su HashSet
HashSet<T> conserva valori univoci; Add restituisce false in caso di duplicati; Contains è rapido.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
HashSet<string> tags = new HashSet<string>();
bool a1 = tags.Add("red"); // true
bool a2 = tags.Add("blue"); // true
bool a3 = tags.Add("red"); // false (duplicate ignored)
Console.WriteLine("Has red? " + tags.Contains("red"));
Console.WriteLine("Count = " + tags.Count); // 2
}
}
Nozioni di base su SortedSet
SortedSet<T> conserva gli elementi univoci e ordinati mentre vengono aggiunti.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
SortedSet<int> scores = new SortedSet<int>();
scores.Add(30);
scores.Add(10);
scores.Add(20);
scores.Add(20); // duplicate ignored
foreach (int s in scores)
{
Console.WriteLine(s); // 10, 20, 30 (sorted ascending)
}
Console.WriteLine("Min = " + (scores.Count > 0 ? scores.Min : 0));
Console.WriteLine("Max = " + (scores.Count > 0 ? scores.Max : 0));
}
}
Queue (FIFO)
Queue<T> è FIFO: Enqueue → Dequeue. Utilizzi Peek per leggere senza rimuovere.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Queue<string> q = new Queue<string>();
q.Enqueue("A");
q.Enqueue("B");
q.Enqueue("C");
Console.WriteLine("Peek = " + q.Peek()); // A
Console.WriteLine(q.Dequeue()); // A
Console.WriteLine(q.Dequeue()); // B
Console.WriteLine("Count = " + q.Count); // 1
}
}
Stack (LIFO)
Stack<T> è LIFO: Push → Pop. Peek esamina l'elemento in cima.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Stack<int> st = new Stack<int>();
st.Push(1);
st.Push(2);
st.Push(3);
Console.WriteLine("Peek = " + st.Peek()); // 3
Console.WriteLine(st.Pop()); // 3
Console.WriteLine(st.Pop()); // 2
Console.WriteLine("Count = " + st.Count); // 1
}
}
Suggerimenti per la scelta
Promemoria:
- Serve unicità e ricerca rapida → HashSet<T>
- Servono unicità e ordine ordinato → SortedSet<T>
- Elaborazione nell'ordine di arrivo → Queue<T> (FIFO)
- Elaborazione dall'ultimo arrivato al primo → Stack<T> (LIFO)
Scelta del set
Riepilogo
Riepilogo: utilizzi i set per l'unicità (HashSet, SortedSet) e scelga FIFO (Queue) o LIFO (Stack) per l'elaborazione ordinata.
Domande Frequenti
La lezione «HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>» è gratuita?
Sì — il testo completo di «HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>» è 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 3 lezioni in totale.
Cosa imparerò in «HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>»?
Comprendete la differenza tra insiemi di elementi unici e insiemi ordinati, nonché tra raccolte FIFO e LIFO; esercitatevi con Add/Contains, Enqueue/Dequeue e Push/Pop. 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 3.
Quanto tempo richiede la lezione «HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>»?
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
- HashSet , SortedSet , Queue , Stack
- ConcurrentDictionary , raccolte immutabili
- Uguaglianza e hashing (valore e riferimento)