Microsoft® Visual Basic® Scripting Edition If...Then...Else 陳述式 |
程式語言參考 | Version 1 |
根據某運算式的值來決定要執行哪些部份的陳述式。
If condition Then statements [Else elsestatements ]或者,您可以使用區塊形式語法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End IfIf...Then...Else 陳述式的語法具有以下幾個部分:
組成部分 說明 condition 一個或多個具有底下兩種型態的運算式: 數值運算式或字串運算式,其運算結果為 True 或 False。如果 condition 為 Null,則 condition 會當作 False。
以 TypeOf objectname Is objecttype 形式存在的運算式,其中的 objectname 是任何的物件引用,而 objecttype 則是任何有效的物件型態,如果 objectname 是 objecttype 所指定的一種物件型態,則運算式為 True,否則為 False。
statements 一個或多個陳述式,陳述式要以冒號分開;如果 condition 是 True,則執行此部份的陳述式。 condition-n 與 condition 一樣。 elseifstatements 如果相關的 condition-n 為 True,則執行此部份的陳述式。 elsestatements 如果 condition 或 condition-n 都不為 True 時,則執行此部份的陳述式。
您可以使用單行形式 ( 第一種語法 ) 來簡化程式碼,但是,區塊形式 ( 第二種語法 ) 則提供結構化與彈性的功能,而且也較容易閱讀、維護、及除錯。當程式執行到一個區塊式 If (第二種語法)時,condition 會加以測試。如果 condition 為 True,則在 Then 之後的陳述式會被執行。如果 condition 為 False,則每個 ElseIf 部份的條件式(如果有的話)會輪流地計算並加以測試,如果找到某個為 True 的條件式時,則其 Then 部份的陳述式會被執行。萬一都沒有一個 ElseIf 條件式為 True (或是根本就沒有 ElseIf 子句),則程式會執行 Else 部份的陳述式。而在執行完 Then 或 Else 之後的陳述式後,會從 End If 之後的陳述式繼續執行。
附註 在單行形式中,也可以放上多行的陳述式,只要在這些陳述式間加上冒號即可,如底下這行陳述式所示: If A > 10 Then A = A + 1 : B = B + A : C = C + BElse 和 ElseIf 子句都是可有可無。在區塊式 If 中,您可以放置多個 ElseIf 子句,但是都必須在 Else 子句之前。區塊式 If 陳述式也可以是巢狀;也就是說,在一個 If...Then...Else 陳述式中可以有另一個 If...Then...Else 陳述式。
要決定某個陳述式是否為一個區塊 If,可檢查 Then 關鍵字之後是什麼。如果在 Then 同一行之後,還有其它非註解的字串,則此陳述式就是單行形式的 If 陳述式。
在區塊形式中,If 陳述式必須是第一行指令行,而區塊式 If 必須在最後加上一個 End If 陳述式。