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.