Fino alla versione 7 di C#, abbiamo avuto a disposizione il null coalesce operator per restituire un valore nel caso una variabile fosse null. C# 8 introduce anche la possibilità di assegnare un valore a una variabile grazie al nuovo operatore ??=.
List<string> values = null; if (DateTime.Now.Milliseconds > 500) { values = new List<string>(); } values ??= new List<string>(); values.Add("string1"); values.Add("string2");
In questo esempio, la variabile values è inizialmente null. Nel caso in cui i millisecondi attuali siano superiori a 500, la variabile viene inizializzata mentre in caso negativo si passa all'istruzione successiva. In quest'istruzione, l'operatore ??= viene usato per inizializzare il valore di values qualora questo fosse ancora null.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- a #RealCodeConf4 il 25 maggio a Firenze parleremo di #silverlight4. iscrizioni gratis su http://u.aspitalia.com/g9
- Parallelizzare le chiamate HTTP con async/await e le Promise in JavaScript
- #HTML5 schema per avere l'intellisense su #VS2008 (anche express) http://u.aspitalia.com/ed
- Rendere sicuro l'endpoint di HealthCheck in ASP.NET Core
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!