#If...Then...#Else 指示詞
更新:2007 年 11 月
有條件地編譯選取的 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