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
- Webcast 'Architettura del software: introduzione ai design pattern'
- Clonare un oggetto in .NET con la libreria JSON.NET
- Autenticazione con JWT Token e ASP.NET Core Web API
- Commentare una issue associata ad una pull request tramite un workflow di GitHub
- per i prossimi 2 giorni segui con noi #build15 da San Francisco: https://aspit.co/build15 #vs2015 #windows10
- Trasformare un feed RSS in HTML con XMLDom
- Microsoft Security Bulletin MS02-018
- Utilizare la libreria subsink per eliminare le sottoscrizioni agli observable in Angular
- Aggiungere il controllo TabView come Microsoft Edge nella Universal Windows Platform
- Microsoft Security Bulletin MS02-043