Директивы #If...Then...#Else
Обновлен: Ноябрь 2007
Условно компилирует выбранные блоки кода 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
См. также
Основные понятия
Общие сведения об условной компиляции