Em C #, digamos que você deseja extrair um valor de PropertyC neste exemplo e ObjectA, PropertyA e PropertyB podem ser nulos.
ObjectA.PropertyA.PropertyB.PropertyC
Como posso obter PropertyC com segurança com o mínimo de código?
Agora eu verificaria:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Seria bom fazer algo mais parecido com isso (pseudo-código).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Possivelmente, ainda mais colapsou com um operador de coalescência nula.
EDITAR Originalmente, eu disse que meu segundo exemplo era como js, mas eu mudei para psuedo-code, pois foi corretamente apontado que não funcionaria em js.
ObjectA
ouPropertyA
forem nulos.