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
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Utilizzare Model as a Service su Microsoft Azure
Limitare le richieste lato server con l'interactive routing di Blazor 8
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Usare una container image come runner di GitHub Actions
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Potenziare Azure AI Search con la ricerca vettoriale
Usare le navigation property in QuickGrid di Blazor
Gestire la cancellazione di una richiesta in streaming da Blazor
I più letti di oggi
- Gli oggetti CallOut di Expression Blend 4.0
- Configurazione tramite environment variable in ASP.NET Core
- Controllare gli accessi IP alle app con Azure Container Apps
- Creare applicazioni web native con Electron
- Utilizzare le sequence di SQL Server in Entity Framework Core
- Update NoDo di marzo 2011 di Windows Phone in fase di distribuzione
- Tile, notifiche e background task in Windows Phone 8
- Mantenere l'ordine dei dati in una query PLINQ