Share via


#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

請參閱

參考

#Const 指示詞

If...Then...Else 陳述式 (Visual Basic)

其他資源

Visual Basic 中的條件式編譯