If...Then...Else — Instrukcja (Visual Basic)
Warunkowe wykonanie grupy instrukcji w zależności od wartości wyrażenia.
' Multiple-line syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Części
condition
Wymagane.Wyrażenie.Musi być True lub False, lub do typu danych, który jest niejawnie do Boolean.Jeśli wyrażenie jest NullableBoolean zmienna, która daje w wyniku nic nie, warunek jest traktowany tak, jakby wyrażenie nie jest Truei Else bloku jest wykonywany.
Then
Wymagany w składni pojedynczej linii; Opcjonalnie w składni wielu linii.statements
Opcjonalne.Jeden lub więcej następujących instrukcji If...Then , są wykonywane, jeśli condition daje w wyniku True.elseifcondition
Wymagany, jeżeli ElseIf jest obecny.Wyrażenie.Musi być True lub False, lub do typu danych, który jest niejawnie do Boolean.elseifstatements
Opcjonalne.Jeden lub więcej następujących instrukcji ElseIf...Then , są wykonywane, jeśli elseifcondition daje w wyniku True.elsestatements
Opcjonalne.Jeden lub więcej instrukcji, które są wykonywane, jeśli nie poprzedniej condition lub elseifcondition wyrażenie ma True.End If
Kończy się If...Then...Else block.
Uwagi
Składnia wielu linii
When an If...Then...Else napotkania instrukcji condition jest badany.Jeśli condition jest True, instrukcje po Then są wykonywane.Jeśli condition jest False, każdy ElseIf instrukcji (jeśli istnieją) jest oceniane w kolejności.Gdy Trueelseifcondition zostanie znaleziony, instrukcji, bezpośrednio po skojarzonej ElseIf są wykonywane. Jeśli nie elseifcondition daje w wyniku True, lub jeśli istnieją nie ElseIf instrukcji, instrukcje po Else są wykonywane.Po wykonaniu następujących instrukcji Then, ElseIf, lub Else, wykonanie kontynuuje następujące oświadczenie End If.
ElseIf i Else klauzule są opcjonalne.Masz tyle ElseIf klauzule jako użytkownik chce If...Then...Else instrukcji, ale nie ElseIf klauzula może pojawić się po Else klauzuli.If...Then...Else instrukcji można zagnieżdżać wewnątrz siebie.
W składni wielu linii If instrukcja musi być instrukcja tylko w pierwszym wierszu.ElseIf, Else, I End If instrukcji może być poprzedzone tylko etykietę wiersza.The If...Then...Else musi się kończyć bloku End If instrukcji.
Porada |
---|
Select...Case — Instrukcja (Visual Basic) Może być bardziej przydatne podczas oceny pojedyncze wyrażenie, które ma kilka możliwych wartości. |
Składnia pojedynczej linii
Dla badań krótkie, proste, można używać składni pojedynczej linii.Składnia wielu linii zapewnia większą strukturę i elastyczność i jest zwykle łatwiejsze do odczytu, utrzymania i debugowania.
Co za tym idzie Then słów kluczowych jest badane do określenia, czy instrukcja jest pojedynczej linii If.Jeśli pojawi się coś innego niż komentarz po Then w tym samym wierszu, instrukcja jest traktowany jako pojedynczej linii If instrukcji.Jeśli Then jest nieobecny, musi być początkiem wielu linii If...Then...Else.
W składni pojedynczej linii może mieć wiele instrukcje wykonywane w wyniku If...Then decyzji.Wszystkie instrukcje muszą być w tej samej linii i być rozdzielone dwukropkiem.
Przykład
Poniższy przykład ilustruje użycie składni wielu linii If...Then...Else instrukcji.
Dim count As Integer = 0
Dim message As String
If count = 0 Then
message = "There are no items."
ElseIf count = 1 Then
message = "There is 1 item."
Else
message = "There are " & count & " items."
End If
Poniższy przykład zawiera zagnieżdżone If...Then...Else instrukcji.
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 4 P.M.,
' or if Thursday from noon to 1 P.M.
If dayW = DayOfWeek.Wednesday Then
If hour = 14 Or hour = 15 Then
Return True
Else
Return False
End If
ElseIf dayW = DayOfWeek.Thursday Then
If hour = 12 Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
Poniższy przykład ilustruje użycie składni pojedynczej linii.
' 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
Zobacz też
Informacje
#If...Then...#Else — Dyrektywy
Select...Case — Instrukcja (Visual Basic)
Koncepcje
Zagnieżdżone struktury sterujące (Visual Basic)