Поделиться через


Эффективное сочетание операторов (Visual Basic)

Сложные выражения могут содержать множество различных операторов. В следующем примере показано это.

x = (45 * (y + z)) ^ (2 / 85) * 5 + z

Для создания сложных выражений, таких как в предыдущем примере, требуется тщательное понимание правил приоритета оператора. Дополнительные сведения см. в разделе "Приоритет оператора" в Visual Basic.

Скобочные выражения

Часто операции будут выполняться в другом порядке, отличном от того, что определяется приоритетом оператора. Рассмотрим следующий пример.

x = z * y + 4

Предыдущий пример умножает z на y, а затем добавляет результат к 4. Но если вы хотите добавить y и 4 прежде чем умножать результат z, можно переопределить приоритет обычных операторов с помощью круглых скобок. Заключив выражение в скобки, необходимо принудительно оценить это выражение, независимо от приоритета оператора. Чтобы принудить предыдущий пример сначала выполнить добавление, его можно переписать, как показано в следующем примере.

x = z * (y + 4)

В предыдущем примере сначала добавляются y и 4, а затем полученная сумма умножается на z.

Вложенные скобочные выражения

Выражения можно вложить в несколько уровней круглых скобок, чтобы ещё более изменить порядок выполнения. Выражения, наиболее глубоко вложенные в скобки, оцениваются сначала, затем следующее, последовательно до наименее глубоко вложенного и, наконец, выражения вне скобок. В следующем примере показано это.

x = (z * 4) ^ (y * (z + 2))

В предыдущем примере z + 2 сначала вычисляется, а затем другие скобочные выражения. Экспонентация, которая обычно имеет более высокий приоритет, чем добавление или умножение, вычисляется в последнем примере, так как другие выражения заключены в скобки.

См. также