Хотя здесь работает короткое замыкание, это не гарантия того, что (как я это делал много раз) вы ошибетесь в порядке при написании другого, было бы лучше использовать вложенные операторы if и определить порядок, который вы хотителогическая проверка на разрыв:
if(object != null)
{
if(object.field != null)
{
object.field = "foo";
}
}
Это делает то же самое, что вы, по сути, говорите, если первая логическая проверка не пройдена, не выполняйте вторую;он также безопасен для nullPointerException, так как object.field не будет проверяться, если только объект не имеет значение null
Использование короткого замыкания на логических значениях может позже стать раздражающим, так как при наличии множественного оператора bool становится эффективнее отлаживатькакая часть замкнута.