Una delle novità di C# 9 è quella di permettere di avere una classe all'interno della quale non abbiamo bisogno di dichiarare il namespace, il nome della classe e un metodo. A prima impressione, questa cosa sembra non avere un senso, ma lo assume quando pensiamo al tipico codice di una console application. Quando creiamo un'applicazione di questo tipo, il codice iniziale è il seguente:
using System; namespace Application1 { class Program { static void Main(string[] args) { Console.WriteLine("Application"); } } }
Sfruttando i top level statement, possiamo ridurre il codice come segue.
using System; Console.WriteLine("Application");
Come si vede il codice è estremamente semplificato. Quando il codice viene compilato, il namespace, la classe e il metodo vengono aggiunti al codice generato quindi l'applicazione funziona esattamente come prima.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare i primary constructor di C# per inizializzare le proprietà
Proteggere le risorse Azure con private link e private endpoints
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
La gestione della riconnessione al server di Blazor in .NET 9
Paginare i risultati con QuickGrid in Blazor
Migrare una service connection a workload identity federation in Azure DevOps
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Generare una User Delegation SAS in .NET per Azure Blob Storage
Path addizionali per gli asset in ASP.NET Core MVC
Utilizzare DeepSeek R1 con Azure AI