Che cos’è un HashSet?
Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 56 di 66.
Un HashSet è una raccolta in C# che memorizza elementi univoci senza un ordine particolare. Fa parte dello spazio dei nomi System.Collections.Generic e offre operazioni sugli insiemi ad alte prestazioni.
Per prima cosa, includi lo spazio dei nomi richiesto:
using System.Collections.Generic;Crea un HashSet vuoto:
HashSet<string> fruits = new HashSet<string>();Questo crea un HashSet che può memorizzare valori stringa.
A differenza degli array o delle liste, HashSets:
- Non consentono elementi duplicati
- Non mantengono l'ordine di inserimento
- Forniscono operazioni di ricerca rapide (complessità O(1))
- Sono ideali quando devi garantire l'unicità
Se provi ad aggiungere un elemento duplicato, HashSet lo ignorerà:
fruits.Add("Apple");
fruits.Add("Apple"); // Questo viene ignoratoDopo aver eseguito il codice qui sopra, l'insieme contiene ancora una sola "Apple".
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Fondamenti degli array 2DDichiarare e inizializzare array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DArray irregolariOperazioni comuni sulle matriciRipasso: array multidimensionali4Tecniche di controllo del flusso
Uscite anticipateClausole di guardiaIstruzioni di salto (goto)Break e continueAppiattire le condizioni annidate2Decisioni avanzate
Condizioni multipleLogica booleana complessaConfronto tra if e switchIstruzioni switch annidateRiepilogo - decisioni avanzate5Gestione delle eccezioni
Nozioni di base su try-catchTipi di eccezioneBlocchi catch multipliLavorare con i fileBlocco finallyUsing vs. try-finallyEccezioni personalizzateRiepilogo - gestione degli errori8Sistema di analisi dei dati
Configurazione della raccolta datiLogica di inserimento dei dati11HashSet Parte 1
Che cos’è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneRipasso - HashSet3Miglioramenti dei cicli
Prestazioni dei cicliIterare strutture complesseOgni tipo di cicloRifattorizzare i cicliRiepilogo - Cicli ottimizzati6Gestione dei valori null
Fondamenti dei riferimenti nullTipi valore nullableSchemi di controllo dei valori nullProgrammazione difensivaRiepilogo: sicurezza rispetto ai valori nullEsercitati da solo: Compilatore C# online