Negli ultimi anni, molte delle funzionalità di C# sono state aggiunte prendendo spunto da altri linguaggi. I range per le liste e la string interpolation sono tipici esempi di quest'affermazione in quanto sono fnzionalità già presenti da tempo in linguaggi come JavaScript e Python. Un'altra funzionalità presente da sempre in questi linguaggi è quella di creare liste di elementi con una sintassi estremamente compatta se confrontata con quella del C#.
A partire da C# 12, possiamo usare la sintassi del prossimo esempio per creare e inizializzare liste di oggetti.
int[] numbers = [10, 2, 4, 0]; List<string> b = ["1", "2", "5"];
Come si vede dal codice, basta inserire i valori tra parentesi quadre e C# creerà la struttura per noi.
E' importante specificare che i collection initializer servono a inizializzare gli elementi di una lista in modo veloce, ma non hanno un tipo dietro. Questo significa che la seguente istruzione genera un errore di compilazione.
var x = [1,2,3];
L'errore è dovuto al fatto che un collection initializer si preoccupa di aggiungere gli elementi a un tipo già definito, non di creare un tipo. Il risultato è che il compilatore non saprebbe che tipo assegnare alla variabile x.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare i named query filter di Entity Framework
Operazioni tra insiemi di array in Javascript
Rendere affidabile lo scale out su Azure App Service
Configurare automaticamente un webhook in Azure DevOps
Esporre un server MCP con Azure API Management
Integrare OpenAI tramite Aspire
Integrare LLM alle nostre applicazioni in .NET con MCP
Eseguire i pre-commit hook di git con dependabot
Supporto semplificato per le left join in Entity Framework 10
Gestire pubblicazione Kubernetes tramite .NET Aspire
Gestione dei codeowners in GitHub
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework


