En C #, disons que vous souhaitez extraire une valeur de PropertyC dans cet exemple et ObjectA, PropertyA et PropertyB peuvent tous être null.
ObjectA.PropertyA.PropertyB.PropertyC
Comment puis-je obtenir PropertyC en toute sécurité avec le moins de code possible?
En ce moment, je vérifierais:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Ce serait bien de faire quelque chose de plus comme ça (pseudo-code).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Peut-être encore plus réduit avec un opérateur de fusion nul.
EDIT À l'origine, j'ai dit que mon deuxième exemple était comme js, mais je l'ai changé en psuedo-code car il a été correctement indiqué que cela ne fonctionnerait pas dans js.
ObjectA
ouPropertyA
sont nuls.