Для исходного вопроса, где вторым условием было A && B, мой ответ:
Если ничего другого, вы можете вкладывать второй блок в первый, чтобы избежать ненужной оценки, если первое условие не выполняется,В противном случае, я не вижу хорошего способа сократить это ... и вложение предполагает, что код в первом блоке не обновляет A и B, и это может произойти.
По новому вопросу, мой ответсостоит в том, чтобы вставить блок в первый, который проверяет! B, и опустить второй блок.Это эквивалентно другому ответу, который был дан на новый вопрос.