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
Definire il colore di una scrollbar HTML tramite CSS
Recuperare le subissue e il loro stato di completamento in GitHub
Utilizzare Container Queries nominali
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Rendere le variabili read-only in una pipeline di Azure DevOps
Evitare memory leaks nelle closure JavaScript
Anonimizzare i dati sensibili nei log di Azure Front Door
Testare il failover sulle region in Azure Storage
Potenziare la ricerca su Cosmos DB con Full Text Search
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Gestione ciclo di vita in .NET Aspire


