Если у меня есть, если заявлениеКаков порядок операций для соединения логических выражений в «если» заявление
if (var1 || var2 && var3)
{
//anything
}
Каков порядок он оценивает эти переменные?
Я думаю, на самом деле, что я хотел бы знать, если это, если заявление будет эквивалентно
if ((var1 || var2) && var3){}
//or
if (var1 || (var2 && var3)){}
и делает заказ дела в первой инстанции
Я понимаю, я мог бы прояснить это с кронштейнами и он будет оценивать их в порядке, который я ожидаю. Но мне было интересно, по умолчанию они просматриваются, когда нет скобок.
Проверьте [приоритет оператора и ассоциативность] (https://msdn.microsoft.com/en-us/library/aa691323 (v = vs.71) .aspx) – juharr
Спасибо за ссылку. Трудно найти из-за того, сколько информации на || а также &&. – Scriven
Вы можете думать об этом с точки зрения арифметики - 'или' is '+'; 'и' '' '. В этом случае 'var1 || var2 && var3' отображает 'var1 + var2 * var3', который является' var1 + (var2 + var3) '. Возвращаясь к булевой алгебре, у вас есть 'var1 || (var2 && var3) '. Надеюсь, это имеет смысл. –