Compartilhar via


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 .

DicaDica

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

# If...E... # Else diretivas

Choose

Selecione...Instrução case (Visual Basic)

Switch

Se o operador (Visual Basic)

Conceitos

Estruturas de controle aninhado (Visual Basic)

Estruturas de decisão (Visual Basic)

Operadores lógicos e bit a bit em Visual Basic