#If...Then...#Else 指示詞
有條件地編譯選取的 Visual Basic 程式碼區塊。
#If expression Then
statements
[ #ElseIf expression Then
[ statements ]
...
#ElseIf expression Then
[ statements ] ]
[ #Else
[ statements ] ]
#End If
組件
expression
#If 和 #ElseIf 陳述式 (Statement) 的必要項,在其他情形中則是選擇項。 任一個只由一個或幾個條件式編譯器 (Compiler) 常數、常值 (Literal) 及運算子所組成,評估為 True 或 False 的運算式。statements
#If 陳述式區塊的必要項,在其他情形中則是選擇項。 在關聯的運算式判定為 True 時加以編譯的 Visual Basic 程式行或編譯器指示詞。#End If
結束 #If 陳述式區塊。
備註
在表面上,#If...Then...#Else 指示詞的行為看起來和 If...Then...Else 陳述式 (Statement) 的行為相同。 不過,#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
請參閱
參考
If...Then...Else 陳述式 (Visual Basic)