Sdílet prostřednictvím


If...Then...Else – příkaz (Visual Basic)

Podmíněně provede skupinu příkazů v závislosti na hodnotě výrazu.

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

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

Části

  • condition
    Povinné.Výraz.Musí být True nebo False, nebo na datový typ, který je implicitně převést na Boolean.

    Pokud je výraz NullableBoolean proměnné, který je vyhodnocován na nic, zachází jako výraz není-li podmínka Truea Else blok je proveden.

  • Then
    V syntaxi jeden řádek; volitelné syntaxe více řádků.

  • statements
    Nepovinné.Jeden nebo více následujících příkazů If...Then , jsou provedeny, pokud condition je vyhodnocen jako True.

  • elseifcondition
    Požadováno pokud ElseIf je k dispozici.Výraz.Musí být True nebo False, nebo na datový typ, který je implicitně převést na Boolean.

  • elseifstatements
    Nepovinné.Jeden nebo více následujících příkazů ElseIf...Then , jsou provedeny, pokud elseifcondition je vyhodnocen jako True.

  • elsestatements
    Nepovinné.Jeden nebo více příkazů, které jsou provedeny, pokud žádné předchozí condition nebo elseifcondition je vyhodnocen True.

  • End If
    Ukončí If...Then...Else block.

Poznámky

Syntaxe více řádků

When an If...Then...Else prohlášení je zjištěna, condition je testován.Pokud condition je True, následující příkazy Then jsou provedeny.Pokud condition je False, ElseIf (pokud existuje) vyhodnotí v pořadí.Když Trueelseifcondition nachází bezprostředně následující přidružené příkazy ElseIf jsou provedeny. Pokud ne elseifcondition je vyhodnocen jako True, nebo pokud nejsou žádné ElseIf příkazy, příkazy následující Else jsou provedeny.Po provedení následujících příkazů Then, ElseIf, nebo Else, pokračuje spuštění s následující příkaz End If.

ElseIf a Else doložky jsou obě nepovinné.Můžete mít tolik ElseIf klauzule, kterou chcete If...Then...Else prohlášení, ale ne ElseIf klauzule mohou objevit po Else klauzule.If...Then...Else příkazy mohou být vzájemně vnořené.

V syntaxi více řádků If příkaz musí být prohlášení pouze na prvním řádku.ElseIf, Else, A End If příkazy lze předcházet pouze popisek řádku.The If...Then...Else musí končit blok End If prohlášení.

Tip

Select...Case – příkaz (Visual Basic) Může být další užitečné při vyhodnocení jeden výraz, který má několik možných hodnot.

Jeden řádek syntaxe.

Syntaxi jeden řádek pro krátké, jednoduché testy.Syntaxe více řádků však poskytuje další struktury a flexibilitu a je obvykle snazší číst, udržovat a ladění.

Jaké takto Then klíčové slovo je zkontrolován, zda prohlášení je jeden řádek If.Pokud cokoli jiného než komentář se zobrazí po Then na stejném řádku výkazu je považován za jeden řádek If prohlášení.Pokud Then chybí, musí být na začátek řádku více If...Then...Else.

V syntaxi jeden řádek může mít více příkazů, které jsou provedeny jako výsledek If...Then rozhodnutí.Všechny příkazy musí být na stejném řádku a oddělen dvojtečkami.

Příklad

Následující příklad ukazuje použití syntaxe více řádků If...Then...Else prohlášení.

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

Následující příklad obsahuje vnořené If...Then...Else příkazy.

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

Následující příklad ukazuje použití syntaxe jeden řádek.

' 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

Viz také

Referenční dokumentace

#If...Then...#Else – direktivy

Choose

Select...Case – příkaz (Visual Basic)

Switch

If – operátor (Visual Basic)

Koncepty

Vnořené řídicí struktury (Visual Basic)

Struktury rozhodování (Visual Basic)

Logické a bitové operátory v jazyce Visual Basic