IF...Então...Instrução else (Visual Basic)
Execute um grupo de instruções condicionalmente, dependendo do valor de uma expressão.
' Multiple-line syntax:
If condition [ Then ]
[ statements ]
[ ElseIf elseifcondition [ Then ]
[ elseifstatements ] ]
[ Else
[ elsestatements ] ]
End If
' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]
Partes
condition
Obrigatório.expressão.Deve ser avaliada como True ou a False, ou um tipo de dados que seja conversível implicitamente na Boolean.Se a expressão é uma variável de AnulávelBoolean que avalia para Nothing, a condição é tratada como se a expressão não é True, e o bloco de Else é executado.
Then
Necessário na sintaxe de linha única; opcional na sintaxe de várias linhas.statements
Opcional.Uma ou mais declarações seguindo ...Then que são executadas se condition avalia em True.elseifcondition
Necessário se ElseIf está presente.expressão.Deve ser avaliada como True ou a False, ou um tipo de dados que seja conversível implicitamente na Boolean.elseifstatements
Opcional.Uma ou mais declarações seguindo ElseIf...Then que são executadas se elseifcondition avalia em True.elsestatements
Opcional.Uma ou mais declarações que são executadas se nenhuma expressão anterior condition ou elseifcondition avalia em True.End If
Termina o bloco If...Then...Else.
Comentários
sintaxe de várias linhas
Quando uma declaração de If……ThenElse for encontrada, condition é testada.Se condition for True, as declarações após Then são executadas.Se condition é False, cada declaração de ElseIf (se houver) é avaliada na ordem.Quando uma elseifconditionTrue for encontrada, as declarações seguindo imediatamente o ElseIf associado são executadas.Se nenhuma elseifcondition avalia em True, ou se não houver declarações ElseIf, as declarações seguindo Else são executadas.Depois de executar as declarações seguindo Then, ElseIf ou Else, execução continua com a declaração após End If.
As cláusulas ElseIf e Else são ambas opcionais.Você pode ter tantas cláusulas de ElseIf como você deseja em uma instrução de If……ThenElse , mas nenhuma cláusula de ElseIf pode aparecer após uma cláusula de Else .as instruções deIfThen……Else podem ser aninhadas dentro da outra.
Em a sintaxe de várias linhas, a instrução de If deve ser a única declaração na primeira linha.As declarações ElseIf, Else e End If podem ser precedidas apenas de um rótulo de linha.O bloco de If……ThenElse deve terminar com uma declaração de End If .
Dica |
---|
Selecione...Instrução case (Visual Basic) pode ser mais útil quando você avalia uma única expressão que possui vários valores possíveis. |
sintaxe de linha única
Você pode usar a sintaxe de linha única para testes curtos, simples.Em o entanto, a sintaxe de linhas múltiplas fornece mais estrutura e flexibilidade e é geralmente mais fácil de ler, manter, e depuração.
O que segue a palavra-chave de Then é examinado para determinar se uma instrução é Ifde linha única.Se nada diferente de um comentário aparece depois Then na mesma linha, a declaração é tratada como uma declaração de linha única de If .Se Then estiver ausente, deve ser o início de Ifde linhas múltiplasThen……Else.
Em a sintaxe de linha única, você pode ter várias declarações executadas como resultado de uma decisão de If…Then .Todas as declarações devem estar na mesma linha e separadas por dois-pontos.
Exemplo
O exemplo a seguir ilustra o uso da sintaxe de linhas múltiplas de instrução de IfThen……Else .
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
O exemplo a seguir contém aninhadas instruções de IfThen……Else .
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
O exemplo a seguir ilustra o uso da sintaxe de linha única.
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Consulte também
Referência
Selecione...Instrução case (Visual Basic)
Conceitos
Estruturas de controle aninhado (Visual Basic)