C # elegante Möglichkeit, um zu überprüfen, ob die Eigenschaft einer Eigenschaft null ist

Sagen Sie in C #, Sie möchten in diesem Beispiel einen Wert aus PropertyC ziehen, und ObjectA, PropertyA und PropertyB können alle null sein.

ObjectA.PropertyA.PropertyB.PropertyC

Wie kann ich PropertyC sicher mit der geringsten Menge an Code erhalten?

Recht jetzt würde ich überprüfen:

if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
    // safely pull off the value
    int value = objectA.PropertyA.PropertyB.PropertyC;
}

Es wäre schön, so etwas zu machen (Pseudocode).

int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;

Möglicherweise noch weiter zusammengebrochen mit einem Null-Koaleszenz-Operator.

BEARBEITE Ursprünglich sagte ich, mein zweites Beispiel sei wie js, aber ich habe es in psuedo-code geändert, da richtig darauf hingewiesen wurde, dass es in js nicht funktionieren würde.

Antworten auf die Frage(42)

Ihre Antwort auf die Frage