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
Effettuare il refresh dei dati di una QuickGrid di Blazor
Generare un hash con SHA-3 in .NET
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Eliminare una project wiki di Azure DevOps
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Collegare applicazioni server e client con .NET Aspire
Change tracking e composition in Entity Framework
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Generare velocemente pagine CRUD in Blazor con QuickGrid
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Utilizzare WhenEach per processare i risultati di una lista di task
Eseguire script pre e post esecuzione di un workflow di GitHub