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
- Niente .NET sui server: siamo Microsoft
- Una funzione per validare un indirizzo e-mail
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- Tutorial ASP.NET 4.0
- Tutorial Entity Framework 5.0
- Solo 5 minuti all'inizio della keynote!! http://aspitalia.com/build-win8 #BldWin
- Windows Embedded Standard 8 disponibile in CTP. stessa base di #win8, componentizzabile, con supporto a #metro: http://aspitalia.com/6u
- disponibile il nuovo #adsdk per #win8. doc su https://aspit.co/ad3 donwload diretto da https://aspit.co/ad4
- #MIX10: Windows Phone - demo Hush Hush, un diario con interfaccia completamente personalizzata
- Scott Guthrie on stage: inizia la seconda keynote di //build/ https://aspit.co/build-14 #bldwin