Angenommen, Sie möchten in C # einen Wert von PropertyC in diesem Beispiel abrufen, und ObjectA, PropertyA und PropertyB können alle null sein.
ObjectA.PropertyA.PropertyB.PropertyC
Wie kann ich PropertyC mit der geringsten Menge an Code sicher erhalten?
Im Moment 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 mehr zu machen (Pseudocode).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Möglicherweise ist er mit einem Null-Koaleszenz-Operator noch weiter zusammengebrochen.
BEARBEITEN Ursprünglich sagte ich, mein zweites Beispiel sei wie js, aber ich habe es in Pseudo-Code geändert, da richtig darauf hingewiesen wurde, dass es in js nicht funktionieren würde.
ObjectA
oder wenn siePropertyA
null sind.