В C# скажите, что вы хотите вывести значение из PropertyC в этом примере, а ObjectA, PropertyA и PropertyB могут быть пустыми.C# элегантный способ проверить, является ли свойство свойства нулевым.
ObjectA.PropertyA.PropertyB.PropertyC
Как я могу получить PropertyC безопасно с наименьшим количеством кода?
Прямо сейчас я хотел бы проверить:
if(ObjectA != null && ObjectA.PropertyA !=null && ObjectA.PropertyA.PropertyB != null)
{
// safely pull off the value
int value = objectA.PropertyA.PropertyB.PropertyC;
}
Было бы неплохо сделать что-то больше похоже на это (псевдо-код).
int value = ObjectA.PropertyA.PropertyB ? ObjectA.PropertyA.PropertyB : defaultVal;
Возможно, еще больше рухнуло с помощью оператора с нулевым коалесцированием.
EDIT Первоначально я сказал, что мой второй пример был похож на js, но я изменил его на psuedo-code, так как он правильно указал, что он не будет работать в js.
я не вижу, как работает ваш пример JS. вы должны получить ошибку «ожидаемый объект» всякий раз, когда «ObjectA» или «PropertyA» равны нулю. – lincolnk
Спасибо lincolnk, вы правы, поэтому я сменил его на псевдокод. –