Maneira elegante de C # para verificar se a propriedade de uma propriedade é nula
Em C #, diga 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 o PropertyC com segurança com a menor quantidade 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 este (pseudo-código).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Possivelmente desmoronou ainda mais com um operador de coalescência nula.
EDITAR Originalmente, eu disse que meu segundo exemplo era como js, mas mudei para psuedo-code, pois foi corretamente apontado que não funcionaria em js.