Share via


Gewusst wie: Ausführen von Anweisungen in Abhängigkeit von einer oder mehreren Bedingungen (Visual Basic)

Mit einer If...Then...Else-Anweisung (Visual Basic)-Anweisung können Sie eine bestimmte Anweisung oder einen Block von Anweisungen abhängig vom Boolean-Datentyp (Visual Basic)-Wert einer Bedingung ausführen. Die Bedingung ergibt sich normalerweise durch einen Vergleich zweier Werte. Es kann sich jedoch um einen beliebigen Ausdruck handeln, der zu einem Boolean-Wert (True oder False) ausgewertet wird. Dazu gehören Werte anderer Datentypen, wie z. B. numerische Typen, die in Boolean umgewandelt wurden.

So führen Sie eine oder mehrere Anweisungen aus, wenn eine Bedingung den Wert True hat

  • Wenn nur eine Anweisung auszuführen ist, verwenden Sie die einzeilige Syntax der If...Then...Else-Konstruktion. Sie benötigen weder die Else-Anweisung noch die End If-Anweisung. Dies wird anhand des folgenden Beispiels veranschaulicht:

    Sub fixDate()
        Dim myDate As Date = #2/13/1973#
        If myDate < Now Then myDate = Now
    End Sub
    

    - oder -

  • Wenn Sie mehrere Codezeilen ausführen möchten, wenn die Bedingung True ist, verwenden Sie die mehrzeilige Syntax, die die End If-Anweisung enthält. Ist kein Code vorhanden, der ausgeführt werden soll, wenn die Bedingung False ist, dann können Sie die Else-Anweisung weglassen. Dies wird anhand des folgenden Beispiels veranschaulicht:

    Dim alertLabel As New System.Windows.Forms.Label
    Sub alertUser(ByVal value As Long)
        If value = 0 Then
            alertLabel.ForeColor = System.Drawing.Color.Red
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Bold Or FontStyle.Italic)
        End If
    End Sub
    

So führen Sie bestimmte Anweisungen aus, wenn eine Bedingung den Wert True hat, und andere Anweisungen, wenn eine Bedingung den Wert False hat

  • Verwenden Sie eine If...Then...Else-Konstruktion mit der Anweisung Else-Anweisung (Visual Basic), um zwei Anweisungsblöcke zu definieren. Visual Basic führt einen Block aus, wenn die Bedingung True ist, und den anderen Block, wenn die Bedingung False ist. Dies wird anhand des folgenden Beispiels veranschaulicht:

    Dim alertLabel As New System.Windows.Forms.Label
    Sub alertUser(ByVal value As Long)
        If value = 0 Then
            alertLabel.ForeColor = System.Drawing.Color.Red
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Bold Or FontStyle.Italic)
        Else
            alertLabel.Forecolor = System.Drawing.Color.Black
            alertLabel.Font = New Font(alertLabel.Font, 
                FontStyle.Regular)
        End If
    End Sub
    

So testen Sie zusätzliche Bedingungen, wenn die erste Bedingung den Wert False hat

  • Verwenden Sie eine If...Then...Else-Konstruktion mit einer oder mehreren ElseIf-Anweisungen, um weitere Bedingungen zu testen, wenn die erste Bedingung den Wert False hat. Beispielsweise berechnet die folgende Function-Prozedur einen auf der Leistungsbewertung basierenden Gehaltsbonus. Der Anweisungsblock nach der Else-Anweisung wird nur dann ausgeführt, wenn die Bedingungen in der If-Anweisung und der ElseIf-Anweisung zu False ausgewertet werden.

    Function bonus(ByVal performance As Integer, 
                   ByVal salary As Decimal) As Decimal
        If performance = 1 Then
            Return salary * 0.1
        ElseIf performance = 2 Then
            Return salary * 0.09
        ElseIf performance = 3 Then
            Return salary * 0.07
        Else
            Return 0
        End If
    End Function
    

    Visual Basic testet die Bedingungen in der Reihenfolge, in der sie in den If...Then...Else-Anweisungen angegeben sind. Wenn eine Bedingung mit dem Wert True oder eine Else-Anweisung folgt, wird der entsprechende Anwendungsblock ausgeführt. Anschließend wird die Steuerung an die Anweisung übergeben, die auf die End If-Anweisung folgt.

    Sie können eine beliebige Anzahl von ElseIf-Anweisungen oder auch keine einzige verwenden. Sie können eine Else-Anweisung hinzufügen oder auslassen, ungeachtet dessen, ob ElseIf-Anweisungen verwendet werden.

Siehe auch

Aufgaben

Gewusst wie: Übertragen der Steuerung aus einer Kontrollstruktur (Visual Basic)

Gewusst wie: Prüfen auf mehrere Werte eines Ausdrucks (Visual Basic)

Gewusst wie: Kontrolliertes Reagieren auf Fehler (Visual Basic)

Konzepte

Entscheidungsstrukturen (Visual Basic)

Schleifenstruktur (Visual Basic)

Weitere Steuerungsstrukturen (Visual Basic)

Geschachtelte Steuerungsstrukturen (Visual Basic)

Weitere Ressourcen

Ablaufsteuerung in Visual Basic