L'operatore a coalescenza nulla in c # ti consente di accorciare il codice
if (_mywidget == null)
return new Widget();
else
return _mywidget;
Fino a:
return _mywidget ?? new Widget();
Continuo a scoprire che un operatore utile mi piacerebbe avere in C # sarebbe uno che permettesse di restituire una proprietà di un oggetto, o qualche altro valore se l'oggetto è nullo. Quindi mi piacerebbe sostituire
if (_mywidget == null)
return 5;
else
return _mywidget.Length;
Con:
return _mywidget.Length ??! 5;
Non posso fare a meno di pensare che ci debba essere un motivo per cui questo operatore non esiste. È un odore di codice? C'è un modo migliore per scrivere questo? (Sono a conoscenza del modello di oggetto nullo ma sembra eccessivo utilizzarlo per sostituire queste quattro righe di codice.)