Udostępnij za pośrednictwem


If...Then...Else — Instrukcja (Visual Basic)

Warunkowe wykonanie grupy instrukcji w zależności od wartości wyrażenia.

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

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

Części

  • condition
    Wymagane.Wyrażenie.Musi być True lub False, lub do typu danych, który jest niejawnie do Boolean.

    Jeśli wyrażenie jest NullableBoolean zmienna, która daje w wyniku nic nie, warunek jest traktowany tak, jakby wyrażenie nie jest Truei Else bloku jest wykonywany.

  • Then
    Wymagany w składni pojedynczej linii; Opcjonalnie w składni wielu linii.

  • statements
    Opcjonalne.Jeden lub więcej następujących instrukcji If...Then , są wykonywane, jeśli condition daje w wyniku True.

  • elseifcondition
    Wymagany, jeżeli ElseIf jest obecny.Wyrażenie.Musi być True lub False, lub do typu danych, który jest niejawnie do Boolean.

  • elseifstatements
    Opcjonalne.Jeden lub więcej następujących instrukcji ElseIf...Then , są wykonywane, jeśli elseifcondition daje w wyniku True.

  • elsestatements
    Opcjonalne.Jeden lub więcej instrukcji, które są wykonywane, jeśli nie poprzedniej condition lub elseifcondition wyrażenie ma True.

  • End If
    Kończy się If...Then...Else block.

Uwagi

Składnia wielu linii

When an If...Then...Else napotkania instrukcji condition jest badany.Jeśli condition jest True, instrukcje po Then są wykonywane.Jeśli condition jest False, każdy ElseIf instrukcji (jeśli istnieją) jest oceniane w kolejności.Gdy Trueelseifcondition zostanie znaleziony, instrukcji, bezpośrednio po skojarzonej ElseIf są wykonywane. Jeśli nie elseifcondition daje w wyniku True, lub jeśli istnieją nie ElseIf instrukcji, instrukcje po Else są wykonywane.Po wykonaniu następujących instrukcji Then, ElseIf, lub Else, wykonanie kontynuuje następujące oświadczenie End If.

ElseIf i Else klauzule są opcjonalne.Masz tyle ElseIf klauzule jako użytkownik chce If...Then...Else instrukcji, ale nie ElseIf klauzula może pojawić się po Else klauzuli.If...Then...Else instrukcji można zagnieżdżać wewnątrz siebie.

W składni wielu linii If instrukcja musi być instrukcja tylko w pierwszym wierszu.ElseIf, Else, I End If instrukcji może być poprzedzone tylko etykietę wiersza.The If...Then...Else musi się kończyć bloku End If instrukcji.

PoradaPorada

Select...Case — Instrukcja (Visual Basic) Może być bardziej przydatne podczas oceny pojedyncze wyrażenie, które ma kilka możliwych wartości.

Składnia pojedynczej linii

Dla badań krótkie, proste, można używać składni pojedynczej linii.Składnia wielu linii zapewnia większą strukturę i elastyczność i jest zwykle łatwiejsze do odczytu, utrzymania i debugowania.

Co za tym idzie Then słów kluczowych jest badane do określenia, czy instrukcja jest pojedynczej linii If.Jeśli pojawi się coś innego niż komentarz po Then w tym samym wierszu, instrukcja jest traktowany jako pojedynczej linii If instrukcji.Jeśli Then jest nieobecny, musi być początkiem wielu linii If...Then...Else.

W składni pojedynczej linii może mieć wiele instrukcje wykonywane w wyniku If...Then decyzji.Wszystkie instrukcje muszą być w tej samej linii i być rozdzielone dwukropkiem.

Przykład

Poniższy przykład ilustruje użycie składni wielu linii If...Then...Else instrukcji.

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

Poniższy przykład zawiera zagnieżdżone If...Then...Else instrukcji.

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

Poniższy przykład ilustruje użycie składni pojedynczej linii.

' 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

Zobacz też

Informacje

#If...Then...#Else — Dyrektywy

Choose

Select...Case — Instrukcja (Visual Basic)

Switch

If — Operator (Visual Basic)

Koncepcje

Zagnieżdżone struktury sterujące (Visual Basic)

Struktury decyzji (Visual Basic)

Operatory logiczne i bitowe w Visual Basic