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


Директивы #If...Then...#Else

Условно компилирует выбранные блоки кода Visual Basic.

#If expression Then
   statements
[ #ElseIf expression Then
   [ statements ]
...
#ElseIf expression Then
   [ statements ] ]
[ #Else
   [ statements ] ]
#End If

Части

  • expression
    Обязательный параметр для операторов #If #ElseIf. Необязательный параметр в других случаях. Любое выражение, состоящее исключительно из одной или более константы условной компиляции, литеральных выражений и операторов, результат вычисления которого равен True или False.

  • statements
    Обязательный параметр в блоке оператора #If. Необязательный параметр в других случаях. Строки кода или директивы компилятора Visual Basic компилируются, если значение выражения вычисляется как True.

  • #End If
    Завершает блок оператора #If.

Заметки

Внешне принцип действия директив #If...Then...#Else аналогичен принципу действия операторов If...Then...Else. Однако директивы #If...Then...#Else оперируют с компилируемым кодом, тогда как операторы If...Then...Else вычисляют условия во время выполнения.

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

Вне зависимости от результата любого вычисления все выражения оцениваются с помощью Option Compare Binary. Оператор Option Compare не влияет на выражения в операторах #If и #ElseIf.

Примечание

Однострочной формы #If, #Else, #ElseIf и #End If не существует.Не допускается ввод кода на строке, на которой присутствует директива.

Пример

В данном примере конструкция #If...Then...#Else используется для определения необходимости компиляции определенных частей кода.

#Const CustomerNumber = 36
#If CustomerNumber = 35 Then
        ' Insert code to be compiled for customer # 35.
#ElseIf CustomerNumber = 36 Then
        ' Insert code to be compiled for customer # 36.
#Else
        ' Insert code to be compiled for all other customers.
#End If

См. также

Ссылки

Директива #Const

Оператор If...Then...Else (Visual Basic)

Другие ресурсы

Условная компиляция в Visual Basic