C # forma elegante de verificar si la propiedad de una propiedad es nula
En C #, supongamos que desea extraer un valor de PropertyC en este ejemplo y ObjectA, PropertyA y PropertyB pueden ser nulos.
ObjectA.PropertyA.PropertyB.PropertyC
¿Cómo puedo obtener PropertyC de forma segura con la menor cantidad de código?
En este momento 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.