Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt een groep instructies voorwaardelijk uitgevoerd, afhankelijk van de waarde van een expressie.
Syntaxis
' Multiline syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Snelle koppelingen naar voorbeeldcode
Dit artikel bevat verschillende voorbeelden die het gebruik van de If...Then...Else verklaring:
- Voorbeeld van syntaxis met meerdere regels
- Voorbeeld van geneste syntaxis
- Voorbeeld van syntaxis met één regel
generator
condition
Vereist. Uitdrukking. Moet evalueren naar True of False, of naar een gegevenstype dat impliciet kan worden omgezet in Boolean.
Als de expressie een null-variabeleBoolean is die naar Niets evalueert, wordt de voorwaarde behandeld alsof de expressie isFalse, en worden de ElseIf blokken geëvalueerd als deze bestaan of wordt het Else blok uitgevoerd als het bestaat.
Then
Vereist in de syntaxis van één regel; optioneel in de syntaxis met meerdere regels.
statements
Optioneel. Een of meer instructies na If...Then die worden uitgevoerd als condition dit Truewordt geëvalueerd.
elseifcondition
Vereist indien ElseIf aanwezig. Uitdrukking. Moet evalueren naar True of False, of naar een gegevenstype dat impliciet kan worden omgezet in Boolean.
elseifstatements
Optioneel. Een of meer instructies na ElseIf...Then die worden uitgevoerd als elseifcondition dit Truewordt geëvalueerd.
elsestatements
Optioneel. Een of meer instructies die worden uitgevoerd als er geen vorige condition of elseifcondition expressie wordt Truegeëvalueerd.
End If
Hiermee wordt de versie met meerdere regels van If...Then...Else blokkeren.
Opmerkingen
Syntaxis met meerdere regels
Wanneer een If...Then...Else er een instructie is aangetroffen, condition wordt getest. Als condition dat het is True, worden de volgende Then instructies uitgevoerd. Als condition dat het geval is False, wordt elke ElseIf instructie (indien aanwezig) op volgorde geëvalueerd. Wanneer een Trueelseifcondition bestand wordt gevonden, worden de instructies direct na de bijbehorende ElseIf uitgevoerd. Als er geen elseifcondition wordt geëvalueerd Trueof als er geen ElseIf instructies zijn, worden de volgende Else instructies uitgevoerd. Na het uitvoeren van de instructies na Then, ElseIfof Else, wordt de uitvoering voortgezet met de volgende End Ifinstructie.
De ElseIf en Else componenten zijn beide optioneel. U kunt zoveel ElseIf componenten hebben als u wilt in een If...Then...Else instructie, maar er kan geen ElseIf component worden weergegeven na een Else component.
If...Then...Else instructies kunnen tussen elkaar worden genest.
In de syntaxis met meerdere regels moet de If instructie de enige instructie op de eerste regel zijn. De ElseIfinstructies ElseEnd If en instructies kunnen alleen worden voorafgegaan door een regellabel. De If...Then...Else blok moet eindigen met een End If instructie.
Tip
De knop Selecteren... Case-instructie kan nuttiger zijn wanneer u één expressie met verschillende mogelijke waarden evalueert.
Syntaxis van één regel
U kunt de syntaxis van één regel voor één voorwaarde met code gebruiken om uit te voeren als deze waar is. De syntaxis met meerdere regels biedt echter meer structuur en flexibiliteit en is gemakkelijker te lezen, te onderhouden en fouten op te sporen.
Wat volgt op het Then trefwoord wordt onderzocht om te bepalen of een instructie één regel Ifis. Als er iets anders dan een opmerking wordt weergegeven na Then dezelfde regel, wordt de instructie behandeld als een instructie met één regel If . Als Then deze afwezig is, moet dit het begin zijn van een meerdere regel If...Then...Else.
In de syntaxis van één regel kunt u meerdere instructies laten uitvoeren als gevolg van een If...Then -beslissing. Alle instructies moeten zich op dezelfde regel bevinden en worden gescheiden door dubbele punten.
Voorbeeld van syntaxis met meerdere regels
In het volgende voorbeeld ziet u het gebruik van de syntaxis met meerdere regels van de If...Then...Else verklaring.
'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.
Else
message = $"There are {count} items."
End If
Console.WriteLine(message)
'This example displays output like the following:
' There are 4 items.
Voorbeeld van geneste syntaxis
Het volgende voorbeeld bevat geneste If...Then...Else Verklaringen.
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
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
'This example displays output like the following:
'Time Check is False.
Voorbeeld van syntaxis met één regel
In het volgende voorbeeld ziet u het gebruik van de syntaxis van één regel.
Private Sub SingleLine()
'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
'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