Se nello script #373 abbiamo parlato di Map e delle sue differenze con Object, ora non possiamo non parlare di Set: la controparte per quanto riguarda gli Array.
Set permette di creare una lista di elementi univoci, con prestazioni in aggiunta e rimozione incredibili, a volte anche il 100% più rapido dei classici array. Il suo impiego va comunque mirato in quanto non permette di inserire elementi duplicati, quindi potrebbe non adattarsi alla perfezione alla nostra applicazione. Vediamone dei casi d'uso.
// dichiarazione const mySet = new Set([0, 3, 6]) // aggiunta mySet.add(3) // rimozione mySet.delete(4) // controllo esistenza mySet.has(5)
Nell'esempio mostrato, la prima aggiunta non cambierà il Set, dato che il numero 3 è già presente al suo interno. Le successive operazioni di delete ed has restituiranno come risultato false dato che i numeri 4 e 5 non sono presenti.
Similmente a quanto visto con Map abbiamo la possibilità di convertire un Set in Array e viceversa.
if (value instanceof Set) { return Array.from(value) } if (Array.isArray(value)) { return new Set(value) }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Supportare la sessione affinity di Azure App Service con Application Gateway
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Change tracking e composition in Entity Framework
Eliminare una project wiki di Azure DevOps
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Estrarre dati randomici da una lista di oggetti in C#
Creare agenti facilmente con Azure AI Agent Service
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Eseguire i worklow di GitHub su runner potenziati
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento