C # элегантный способ проверить, является ли свойство свойства нулевым
В C # скажем, что вы хотите извлечь значение из PropertyC в этом примере, и ObjectA, PropertyA и PropertyB могут быть нулевыми.
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;
Возможно, еще больше рухнул с оператором нуль-слияния.
РЕДАКТИРОВАТЬ Первоначально я сказал, что мой второй пример похож на js, но я изменил его на psuedo-код, так как было правильно указано, что он не будет работать в js.