condition
必要。 運算式。 必須評估為
True
或
False
,或是隱含轉換成
Boolean
的資料類型。
如果運算式是評估為
Nothing 的
Boolean
可為 Null 變數,則會
將條件視為運算式
False
,如果
ElseIf
它們存在,則會評估區塊,或者
Else
如果存在則會執行區塊。
單行語法中的必要項;多行語法中的選擇性。
statements
選擇性。 如果
condition
評估為
True
,則會執行下列
If
Then
一或多個語句。
elseifcondition
如果
ElseIf
存在,則為必要項。 運算式。 必須評估為
True
或
False
,或是隱含轉換成
Boolean
的資料類型。
elseifstatements
選擇性。 如果
elseifcondition
評估為
True
,則會執行下列
ElseIf
Then
一或多個語句。
elsestatements
選擇性。 如果沒有先前
condition
或
elseifcondition
運算式評估為
True
,則會執行一或多個 語句。
End If
終止多行版本的
If
...
Then
...
Else
塊。
當 ...
If
Then
...
Else
遇到 語句,
condition
已經過測試。 如果 為
condition
True
,則會執行下列
Then
語句。 如果 為
condition
False
,則每個
ElseIf
語句都會依序評估任何) (。
True
elseifcondition
找到 時,會緊接在相關聯的
ElseIf
之後執行 語句。
elseifcondition
如果沒有評估為
True
,或如果沒有
ElseIf
語句,則會執行下列
Else
語句。 在執行 、
ElseIf
或
Else
之後
Then
的語句之後,執行會繼續執行下列
End If
語句。
ElseIf
和
Else
子句都是選擇性的。 您可以在 ...
Then
中
If
擁有想要的子句數目
ElseIf
...
Else
語句,但在 子句後面
Else
可以顯示任何
ElseIf
子句。
If
...
Then
...
Else
語句可以彼此巢狀。
在多行語法中
If
,語句必須是第一行的唯一語句。
ElseIf
、
Else
和
End If
語句前面只能加上行標籤。 ...
If
Then
...
Else
block 必須以
End If
語句結尾。
選取...
當您評估具有數個可能值的單一運算式時,Case 語句可能比較有用。
Single-Line語法
您可以將單行語法用於具有程式碼的單一條件,如果為 true,則可以執行。 不過,多行語法提供更多結構和彈性,而且更容易閱讀、維護和偵錯。
檢查 關鍵字之後
Then
的內容,以判斷語句是否為單行
If
。 如果批註以外的任何專案出現在同一行之後
Then
,語句就會被視為單行
If
語句。 如果
Then
不存在,它必須是多行
If
的開頭...
Then
...
Else
.
在單行語法中,您可以讓多個語句執行為 ...
Then
決策的結果
If
。 所有語句必須位於相同的行上,並以冒號分隔。
多行語法範例
下列範例說明如何使用 ...
Then
的多
If
行語法...
Else
聲明。
Module Multiline
Public Sub Main()
'Create a Random object to seed our starting value
Dim randomizer As New Random()
'set our variable
Dim count As Integer = randomizer.Next(0, 5)
Dim message As String
'If count is zero, output will be no items
If count = 0 Then
message = "There are no items."
'If count is 1, output will be "There is 1 item.".
ElseIf count = 1 Then
message = "There is 1 item."
'If count is greater than 1, output will be "There are {count} items.", where {count} is replaced by the value of count.
message = $"There are {count} items."
End If
Console.WriteLine(message)
End Sub
End Module
'This example displays output like the following:
' There are 4 items.
巢狀語法範例
下列範例包含巢狀
If
...
Then
...
Else
語句。
Module Nested
Public Sub Main()
' Run the function as part of the WriteLine output.
Console.WriteLine("Time Check is " & CheckIfTime() & ".")
End Sub
Private Function CheckIfTime() As Boolean
' Determine the current day of week and hour of day.
Dim dayW As DayOfWeek = DateTime.Now.DayOfWeek
Dim hour As Integer = DateTime.Now.Hour
' Return True if Wednesday from 2 to 3:59 P.M.,
' or if Thursday from noon to 12:59 P.M.
If dayW = DayOfWeek.Wednesday Then
If hour = 14 Or hour = 15 Then
Return True
Return False
End If
ElseIf dayW = DayOfWeek.Thursday Then
If hour = 12 Then
Return True
Return False
End If
Return False
End If
End Function
End Module
'This example displays output like the following:
'Time Check is False.
Single-Line語法範例
下列範例說明如何使用單行語法。
Module SingleLine
Public Sub Main()
'Create a Random object to seed our starting values
Dim randomizer As New Random()
Dim A As Integer = randomizer.Next(10, 20)
Dim B As Integer = randomizer.Next(0, 20)
Dim C As Integer = randomizer.Next(0, 5)
'Let's display the initial values for comparison
Console.WriteLine($"A value before If: {A}")
Console.WriteLine($"B value before If: {B}")
Console.WriteLine($"C value before If: {C}")
' If A > 10, execute the three colon-separated statements in the order
' that they appear
If A > 10 Then A = A + 1 : B = B + A : C = C + B
'If the condition is true, the values will be different
Console.WriteLine($"A value after If: {A}")
Console.WriteLine($"B value after If: {B}")
Console.WriteLine($"C value after If: {C}")
End Sub
End Module
'This example displays output like the following:
'A value before If: 11
'B value before If: 6
'C value before If: 3
'A value after If: 12
'B value after If: 18
'C value after If: 21
Choose
Switch
#If...Then...#Else 指示詞
Select...Case 陳述式
巢狀控制結構
Visual Basic 中的邏輯運算子和位元運算子
If 運算子