C# permete già da molte versioni di dichiarare un parametro di un metodo e assegnargli un valore di default. Grazie a questa funzionalitò, chi invoca il metodo non è obbligato a passare il valore per quel parametro. Tuttavia, questa funzionalità era limitata ai metodi delle classi, ma non ai metodi inline come le lambda. A partire dalla versione 12 di C#, questa limitazione è stata eliminata e possiamo dichiarare parametri con valori di default anche per le lambda come visibile nel prossimo esempio.
var myfunc = (string name = "def") => Console.WriteLine($"Hello {name}"); MyFunc("Stefano"); MyFunc();
La prima chiamata al metodo MyFunc restituirà Hello Stefano visto che abbiamo passate il parametro esplicitamente, mentre la seconda chiamata restituirà Hello def in quanto non avendo passato il parametro esplicitamente, il compilatore ha usato il valore di default.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Usare un KeyedService di default in ASP.NET Core 8
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare WebAssembly con .NET, ovunque
Creare una custom property in GitHub
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Hosting di componenti WebAssembly in un'applicazione Blazor static
Configurare policy CORS in Azure Container Apps
Miglioramenti nell'accessibilità con Angular CDK
Generare un hash con SHA-3 in .NET
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL