Compartilhar via


Declaração If...Then... (Visual Basic)

Conditionally executes a group of statements, depending on the value of an expression.

' Multiple-line syntax:
If condition [ Then ]
    [ statements ]
[ ElseIf elseifcondition [ Then ]
    [ elseifstatements ] ]
[ Else
    [ elsestatements ] ]
End If

' Single-line syntax:
If condition Then [ statements ] [ Else [ elsestatements ] ]

Parts

  • condition
    Required. Expressão. Deve ser avaliada como True ou False, ou para um é implicitamente conversível no tipo de dados Boolean.

  • Then
    Necessário a sintaxe delinha única; opcional na sintaxe delinha múltipla.

  • statements
    Optional. One or more statements following If...Then that are executed if condition evaluates to True.

  • elseifcondition
    Necessário se ElseIf está presente. Expressão. Deve ser avaliada como True ou False, ou para um é implicitamente conversível no tipo de dados Boolean.

  • elseifstatements
    Optional. One or more statements following ElseIf...Then that are executed if elseifcondition evaluates to True.

  • elsestatements
    Optional. One or more statements that are executed if no previous condition or elseifcondition expression evaluates to True.

  • End If
    Terminates the If...Then...Else block.

Comentários

Sintaxe de linha de vários-

Quando um If...Then...Else demonstrativo for encontrado, condition é testada. If condition is True, the statements following Then are executed. Se condition é False, cada ElseIf demonstrativo (se houver alguma) é avaliada em ordem. Quando um True elseifcondition for encontrada, as instruções imediatamente seguinte a associada ElseIf são executados. If no elseifcondition evaluates to True, or if there are no ElseIf statements, the statements following Else are executed. After executing the statements following Then, ElseIf, or Else, execution continues with the statement following End If.

The ElseIf and Else clauses are both optional. Você pode ter quantos ElseIf cláusulas como você deseja em um If...Then...Elsededemonstrativo, mas não ElseIf cláusula pode aparecer após um Else cláusula. If...Then...Else declarações podem ser aninhadas entre si.

Em vários sintaxe delinha , o If demonstrativo deve ser a única demonstrativo na primeira linha. The ElseIf, Else, and End If statements can be preceded only by a line label. The If...Then...Else bloco deve terminar com um End If demonstrativo.

Dica

O Declaração Select...Case (Visual Basic) pode ser mais útil quando você avaliar uma expressão única que tem vários valores possíveis.

Sintaxe de linha única-

Você pode usar a sintaxe delinha única - para testes de curtos e simples. No entanto, a sintaxe delinha múltipla - fornece mais estrutura e a flexibilidade e geralmente é mais fácil de ler, manter e depurar.

A seguir a Then palavra-chave é examinada para determinar se uma demonstrativo é uma únicalinha If. Se algo diferente de um comentário aparecer após a Then na mesma linha, a demonstrativo é tratado como uma únicalinha If demonstrativo. Se Then está ausente, ele deve ser o início dalinhade um múltiplo - If...Then...Else.

Único - sintaxe delinha , você pode ter várias instruções executadas como resultado de uma If...Then decisão. All statements must be on the same line and be separated by colons.

Exemplo

O exemplo a seguir ilustra o uso da sintaxe delinha múltipla - da If...Then...Else demonstrativo.

        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 If...Then...Else instruções.

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 delinha única.

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Consulte também

Tarefas

Como: executar instruções dependendo de uma ou mais condições (Visual Basic)

Referência

Diretivas #If...Then...#Else

Choose

Declaração Select...Case (Visual Basic)

Switch

Conceitos

Estruturas de controle aninhado (Visual Basic)

Estruturas de decisão (Visual Basic)

Operadores lógicos e bit a bit no Visual Basic

Histórico de alterações

Date

History

Motivo

Dezembro de 2010

Reorganizado a seção comentários.

Aprimoramento de informações.

Dezembro de 2010

Adicionado um exemplo.

Comentários do cliente.