En C #, diga que desea extraer un valor de PropertyC en este ejemplo y ObjectA, PropertyA y PropertyB pueden ser todos nulos.
ObjectA.PropertyA.PropertyB.PropertyC
¿Cómo puedo obtener PropertyC de forma segura con la menor cantidad de código?
Ahora mismo comprobaría:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Sería bueno hacer algo más como esto (pseudocódigo).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Posiblemente colapsó aún más con un operador de fusión nula.
EDITAR Originalmente dije que mi segundo ejemplo era como js, pero lo cambié a psuedo-code ya que se señaló correctamente que no funcionaría en js.
ObjectA
oPropertyA
sean nulos.