Considera il seguente scenario tipico:
if(myObject == null) {
myObject = new myClass();
}
Mi chiedo cosa si pensi della seguente sostituzione usando l'operatore a coalescenza nulla:
myObject = myObject ?? new myClass();
Non sono sicuro se dovrei usare il secondo modulo. Sembra una bella stenografia, ma il costrutto myObject = myObject
all'inizio sembra che potrebbe essere un po 'un odore di codice.
È una cosa ragionevole da fare, o c'è una migliore abbreviazione che mi manca? O forse, "Sono tre righe, passaci sopra!"?
Modifica: Come è stato detto, forse definire questo uno scenario tipico è un'esagerazione. Di solito trovo che incontro questa situazione quando sto recuperando un'entità da un database che ha una proprietà del tipo di riferimento figlio che potrebbe essere popolata o meno:
myClass myObject = myClassService.getById(id);
myObject.myChildObject = myObject.myChildObject ?? new myChildClass();