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
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Filtering sulle colonne in una QuickGrid di Blazor
Ottimizzare le performance usando Span<T> e il metodo Split
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Effettuare il refresh dei dati di una QuickGrid di Blazor
.NET Conference Italia 2024
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Configurare lo startup di applicazioni server e client con .NET Aspire
Creare una libreria CSS universale - Rotazione degli elementi
Migliorare la scalabilità delle Azure Function con il Flex Consumption