Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Warunkowo wykonuje grupy poleceń w zależności od wartości wyrażenia.
Składnia
' Multiline syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Szybkie linki do przykładowego kodu
Ten artykuł zawiera kilka przykładów ilustrujących użycie ...IfThen...Else wypowiedź:
generatora
condition
Wymagany. Wyrażenie. Musi mieć wartość lub TrueFalse, lub typ danych, który jest niejawnie konwertowany na Boolean.
Jeśli wyrażenie jest zmienną dopuszczającąBoolean wartość Null, która daje wartość Nothing, warunek jest traktowany tak, jakby wyrażenie to False, a ElseIf bloki są oceniane, jeśli istnieją, lub Else blok jest wykonywany, jeśli istnieje.
Then
Wymagane w składni jednowierszowej; opcjonalnie w składni wielowierszowej.
statements
Opcjonalny. Co najmniej jedna instrukcja wykonywanaIfThen, jeśli condition zostanie obliczona na Truewartość .
elseifcondition
Wymagane, jeśli ElseIf jest obecny. Wyrażenie. Musi mieć wartość lub TrueFalse, lub typ danych, który jest niejawnie konwertowany na Boolean.
elseifstatements
Opcjonalny. Co najmniej jedna instrukcja wykonywanaElseIfThen, jeśli elseifcondition zostanie obliczona na Truewartość .
elsestatements
Opcjonalny. Co najmniej jedna instrukcja wykonywana, jeśli żadne poprzednie condition wyrażenie nie elseifcondition zwróci wartości .True
End If
Kończy wielowierszową wersję ...IfThen...Else blok.
Uwagi
Składnia wielowierszowa
Gdy ...IfThen...Else napotkano instrukcję , condition jest testowana. Jeśli condition parametr to True, wykonywane są następujące Then instrukcje. Jeśli condition wartość to False, każda ElseIf instrukcja (jeśli istnieje) jest obliczana w kolejności. Po znalezieniu elementu Trueelseifcondition instrukcje bezpośrednio po skojarzonym są ElseIf wykonywane. Jeśli nie ma wartości , elseifconditionlub jeśli nie True ma ElseIf żadnych instrukcji, następujące Else instrukcje są wykonywane. Po wykonaniu instrukcji po wykonaniu instrukcji , ThenElseIflub Elsewykonanie jest kontynuowane przy użyciu instrukcji następującej: End If.
Klauzule ElseIf i Else są opcjonalne. Możesz mieć dowolną liczbę ElseIf klauzul w ...IfThen...Else instrukcja, ale klauzula nie ElseIf może pojawić się po klauzuli Else .
If...Then...Else instrukcje mogą być zagnieżdżone w obrębie siebie.
W składni If wielowierszowej instrukcja musi być jedyną instrukcją w pierwszym wierszu. Instrukcje ElseIf, Elsei End If mogą być poprzedzone tylko etykietą wiersza.
If...Then...Else blok musi kończyć się instrukcją End If .
Napiwek
Wybierz ... Instrukcja przypadku może być bardziej przydatna podczas oceniania pojedynczego wyrażenia, które ma kilka możliwych wartości.
Składnia jednowierszowa
Składnię jednowierszową można użyć dla pojedynczego warunku z kodem do wykonania, jeśli jest to prawda. Jednak składnia wielu wierszy zapewnia większą strukturę i elastyczność oraz ułatwia odczytywanie, konserwowanie i debugowanie.
To, co następuje po słowie kluczowym, jest badane w Then celu określenia, czy instrukcja jest pojedynczym wierszem If. Jeśli coś innego niż komentarz pojawia się po Then tym samym wierszu, instrukcja jest traktowana jako instrukcja jednowierszowa If . Jeśli Then jest nieobecny, musi to być początek wielu wierszy If...Then...Else.
W składni jednowierszowej można wykonać wiele instrukcji w wyniku Ifdecyzji ...Then . Wszystkie instrukcje muszą znajdować się w tym samym wierszu i być oddzielone dwukropkami.
Przykład składni wielowierszowej
Poniższy przykład ilustruje użycie składni wielowierszowej ...IfThen...Else wypowiedź.
'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.
Przykład składni zagnieżdżonej
Poniższy przykład zawiera zagnieżdżone If...Then...Else Instrukcji.
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.
Przykład składni jednowierszowej
Poniższy przykład ilustruje użycie składni jednowierszowej.
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