Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Выполняет ту или иную группу операторов в зависимости от значения выражения.
Синтаксис
' Multiline syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Краткие ссылки на пример кода
В этой статье приведено несколько примеров, иллюстрирующих использование If...Then...Else утверждение:
Детали
condition
Обязательный. Выражение. Должен иметь True значение или Falseтип данных, который неявно преобразуется в Boolean.
Если выражение является переменной Boolean, которая оценивает значение Nothing, условие обрабатывается как если выражение имеетсяFalse, а ElseIf блоки оцениваются, если они существуют, или Else блок выполняется, если он существует.
Then
Обязательный в синтаксисе с одной строкой; необязательный в многостроочном синтаксисе.
statements
Необязательно. Одно или несколько операторов, приведенных ниже If,Then которые выполняются, если condition оценивается True.
elseifcondition
Обязательный, если ElseIf присутствует. Выражение. Должен иметь True значение или Falseтип данных, который неявно преобразуется в Boolean.
elseifstatements
Необязательно. Одно или несколько операторов, приведенных ниже ElseIf,Then которые выполняются, если elseifcondition оценивается True.
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 инструкции. После выполнения приведенных ниже ThenElseIfинструкций или Elseвыполнения выполняется следующая End Ifинструкция.
ElseIf Предложения Else являются необязательными. Вы можете иметь столько ElseIf предложений, сколько вы хотите в If...Then...Else оператор, но после предложения не ElseIf может появиться Else предложение.
If...Then...Else операторы могут быть вложены друг в друга.
В многострочный синтаксис If оператор должен быть единственным оператором первой строки.
ElseIfОператоры Elseи End If операторы могут предшествовать только метке строки.
If...Then...Else Блок должен заканчиваться операторомEnd If.
Совет
Выбор ... Оператор case может оказаться более полезным при вычислении одного выражения с несколькими возможными значениями.
Синтаксис с одной строкой
Синтаксис одной строки можно использовать для одного условия с кодом для выполнения, если это верно. Однако синтаксис с несколькими строками обеспечивает большую структуру и гибкость и упрощает чтение, обслуживание и отладку.
Что следует ключевому слову Then , чтобы определить, является ли оператор однострочный If. Если в той же строке отображается Then что-либо, отличное от комментария, оператор обрабатывается как однострочный If оператор. Если Then нет, оно должно быть началом нескольких строк If...Then...Else.
В синтаксисе с одной строкой можно выполнить несколько операторов в результате Ifпринятия решения ...Then . Все операторы должны находиться в одной строке и разделены двоеточиями.
Пример многостроного синтаксиса
В следующем примере показано использование многостроического синтаксиса If...Then...Else утверждение.
'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.
Пример вложенного синтаксиса
В следующем примере содержится вложенный If...Then...Else Заявления.
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.
Пример синтаксиса с одной строкой
В следующем примере показано использование однострочного синтаксиса.
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