In C #, si supponga di voler estrarre un valore da PropertyC in questo esempio e ObjectA, PropertyA e PropertyB possono essere tutti null.
ObjectA.PropertyA.PropertyB.PropertyC
Come posso ottenere PropertyC in modo sicuro con la minor quantità di codice?
In questo momento vorrei controllare:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Sarebbe bello fare qualcosa di più simile a questo (pseudo-codice).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Forse anche ulteriormente collassato con un operatore di coalescenza nullo.
EDIT Inizialmente ho detto che il mio secondo esempio era come js, ma l'ho cambiato in codice psuedo poiché è stato correttamente sottolineato che non avrebbe funzionato in js.
ObjectA
oPropertyA
sono nulli.