共用方式為


#If...Then...#Else 指示詞

有條件地編譯 Visual Basic 程式代碼的選取區塊。

語法

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

組件

expression
#ElseIf 語句的必要項目#If,選擇性的其他地方。 任何表達式,只包含評估為 TrueFalse的一或多個條件式編譯程式常數、常值和運算符。

statements
語句區塊的必要專案 #If ,在別處為選擇性。 如果相關聯的表達式評估為 True,則為已編譯的Visual Basic程式行或編譯程式指示詞。

#End If
#If終止語句區塊。

備註

在介面上,指示詞的行為會與 If...Then...Else 語句的行為#If...Then...#Else相同。 不過, #If...Then...#Else 指示詞會評估編譯程式所編譯的內容,而語句則會 If...Then...Else 在運行時間評估條件。

條件式編譯通常用於針對不同的平臺編譯相同的程式。 它也可用來防止偵錯程式代碼出現在可執行檔中。 條件式編譯期間排除的程式代碼會完全從最終可執行檔中省略,因此不會影響大小或效能。

不論任何評估的結果為何,所有表達式都會使用 Option Compare Binary來評估。 語句Option Compare不會影響 和 #ElseIf 語句中的#If表達式。

備註

#Else#ElseIf#End If 指示詞的單行形式#If不存在。 沒有其他程式代碼可以出現在與任何 指示詞相同的行上。

條件式編譯區塊內的語句必須是完整的邏輯語句。 例如,您無法有條件地只編譯函式的屬性,但您可以有條件地宣告函式及其屬性:

#If DEBUG Then
<WebMethod()>
Public Function SomeFunction() As String
#Else
<WebMethod(CacheDuration:=86400)>
Public Function SomeFunction() As String
#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

另請參閱