Microsoft® Visual Basic® Scripting Edition If...Then...Else 語句 |
語言參考 版本 1 |
根據(jù)表達(dá)式的值有條件地執(zhí)行一組語句。
If condition Then statements [Else elsestatements ]或者,使用塊形式的語法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End IfIf...Then...Else 語句的語法包含以下部分:
部分 描述 condition 一個或多個下面兩種類型的表達(dá)式: 數(shù)值或字符串表達(dá)式,其運算結(jié)果是 True 或 False。如果 condition 是 Null,則 condition 被視為 False。
形如 TypeOf objectname Is objecttype 的表達(dá)式。objectname 是任何對象的引用,而 objecttype 則是任何有效的對象類型。如果 objectname 是 objecttype 所指定的一種對象類型,則表達(dá)式為 True;否則為 False。
statements 如果 condition 為 True 時,執(zhí)行的一條或多條(以冒號分開)語句。 condition-n 同 condition。 elseifstatements 如果相關(guān)的 condition-n 為 Ture時,執(zhí)行的一條或多條語句。 elsestatements 如果前面沒有 condition 或 condition-n 表達(dá)式為 True 時,執(zhí)行的一條或多條語句。
對于短小簡單的測試,可以使用單行形式(第一種語法)。但塊形式(第二種語法)提供了比單行形式更強的結(jié)構(gòu)化與適應(yīng)性,比較容易閱讀、維護(hù)及調(diào)試。當(dāng)程序運行到 If 塊(第二種語法)時,將測試 condition。如果 condition 是 True,則執(zhí)行 Then 之后的語句。如 condition 是 False,則每個 ElseIf 部分的條件式(如果有的話)會依次計算并加以測試。當(dāng)找到某個為 True 的條件時,則其相關(guān)的 Then 之后的語句會被執(zhí)行。如沒有一個 ElseIf 語句是 True(或沒有 ElseIf 子句),則將執(zhí)行 Else 之后的語句。執(zhí)行 Then 或 Else 之后的語句以后,將繼續(xù)執(zhí)行 End If 之后的語句。
注意 在單行語法中,可以執(zhí)行多條語句作為 If...Then 判斷的結(jié)果,但所有語句必須在同一行上并且以冒號分開,如下列語句所示: If A > 10 Then A = A + 1 : B = B + A : C = C + BElse 和 ElseIf 子句都是可選的。在 If 塊中可以放置任意多個 ElseIf 子句,但是都必須在 Else 子句之前。If 塊語句可以被嵌套,即被包含在另一個 If 塊語句之中。
要判斷某個語句是否是一個 If 塊,可檢查 Then 關(guān)鍵字之后是什么。如果在 Then 的同一行之后還有其他非注釋的內(nèi)容,則此語句就是單行形式的 If 語句。
If 塊語句必須是某一行的第一條語句,并且必須以 End If 語句結(jié)束。