Festlegen von zwei Wahlmöglichkeiten im Programm: Die If...Then-Anweisung

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie mithilfe der If...Then-Anweisung Code basierend auf bestimmten Bedingungen ausführen.

Programme müssen unter verschiedenen Bedingungen unterschiedliche Dinge ausführen. Beispielsweise möchten Sie, dass das Programm überprüft, welcher Wochentag gerade ist, um dann in Abhängigkeit vom Tag unterschiedliche Aufgaben auszuführen. Mit der If...Then-Anweisung können Sie eine Bedingung auswerten und anschließend auf der Grundlage der Ergebnisse dieser Bedingung verschiedene Codeabschnitte ausführen.

Das folgende Beispiel veranschaulicht die Funktionsweise der If...Then-Anweisung.

If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Monday Then
  MsgBox("Today is Monday!")
End If

Wenn dieser Code ausgeführt wird, wird die Bedingung ausgewertet (der Teil zwischen If und Then). Wenn diese Bedingung wahr ist, wird die nächste Codezeile ausgeführt, und ein Meldungsfeld wird angezeigt. Wenn die Bedingung nicht wahr ist, springt der Code zur End If-Zeile. Anders ausgedrückt stellt der Code fest "Wenn heute Montag ist, dann die Meldung anzeigen".

Übung

So verwenden Sie die If...Then-Anweisung

  1. Wählen Sie im Menü Datei den Befehl Neues Projekt aus.

  2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows-Anwendung.

  3. Geben Sie IfThen in das Feld Name ein, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  4. Doppelklicken Sie auf das Formular, um den Code-Editor zu öffnen.

  5. Geben Sie im Form1_Load-Ereignishandler folgenden Code ein.

    If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
      My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
      MsgBox("Happy Weekend!")
    End If
    
  6. Drücken Sie F5, um das Programm auszuführen.

    Wenn der heutige Tag ein Samstag oder Sonntag ist, wird ein Meldungsfeld mit Happy Weekend! angezeigt. Andernfalls wird kein Meldungsfeld angezeigt.

  7. Wählen Sie im Menü Debuggen die Option Debuggen beenden aus, um das Programm zu beenden. Lassen Sie dieses Projekt geöffnet. Sie fügen dem Projekt in der nächsten Prozedur "So verwenden Sie die Else-Klausel" noch etwas hinzu.

Möglicherweise ist Ihnen im oben stehenden Beispiel aufgefallen, dass die If...Then-Anweisung den Or-Operator verwendet, um mehrere Bedingungen auszuwerten ("ob der aktuelle Wochentag ein Samstag Or ein Sonntag ist"). Sie können die Operatoren Or und And verwenden, um in einer einzelnen If...Then-Anweisung so viele Bedingungen auszuwerten, wie Sie möchten.

Die Else-Klausel

Sie haben gelernt, wie Sie mit der If...Then-Anweisung Code ausführen, wenn eine Bedingung erfüllt (true) ist. Was hingegen ist erforderlich, wenn bei einer wahren Bedingung ein bestimmter Code, bei einer nicht erfüllten Bedingung (false) jedoch ein anderer Code ausgeführt werden soll? In diesem Fall können Sie die Else-Klausel verwenden. Mit der Else-Klausel können Sie einen Codeblock angeben, der ausgeführt werden soll, wenn eine Bedingung nicht wahr ist. Das folgende Beispiel veranschaulicht die Funktionsweise der Else-Klausel.

If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Friday Then
  MsgBox("Today is Friday!")
Else
  MsgBox("It isn't Friday yet!")
End If

In diesem Beispiel wird der Ausdruck ausgewertet. Wenn das Ergebnis der Auswertung true ist, wird die nächste Codezeile ausgeführt, und das erste Meldungsfeld wird angezeigt. Wenn das Ergebnis der Auswertung false ist, springt der Code zur Else-Klausel, und die auf Else folgende Zeile wird ausgeführt, wodurch das zweite Meldungsfeld angezeigt wird.

Übung

Dieses Verfahren schließt an die Übung "So verwenden Sie die If...Then-Anweisung" an. Wenn Sie die Übung "So verwenden Sie die If...Then-Anweisung" noch nicht abgeschlossen haben, müssen Sie dies vor dem Fortsetzen nachholen.

So verwenden Sie die Else-Klausel

  1. Ändern Sie den Code in der If...Then-Anweisung wie folgt.

    If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Saturday Or _
      My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Sunday Then
      MsgBox("Happy Weekend!")
    Else
      MsgBox("Happy Weekday! Don't work too hard!")
    End If
    
  2. Drücken Sie F5, um das Programm auszuführen. Das Programm zeigt jetzt ein Meldungfeld an, das angibt, ob es sich beim aktuellen Tag um einen Werktag oder einen Tag des Wochenendes handelt.

    Hinweis:

    Wenn Sie die Ausführung der beiden Codeblöcke testen möchten, können Sie den Wochentag ändern, indem Sie auf der Windows-Taskleiste auf die Uhrzeit doppelklicken. (Die Taskleiste ist die Leiste, die die Schaltfläche für das Startmenü von Windows enthält. Sie befindet sich standardmäßig am unteren Rand des Desktops, und die Uhrzeit wird in der rechten Ecke angezeigt.)

Nächste Schritte

In dieser Lektion haben Sie gelernt, die If...Then-Anweisung zusammen mit der Else-Klausel so zu verwenden, dass das Programm auf der Grundlage der Bedingungen zur Laufzeit selektiv bestimmte Codeblöcke ausführt. Für die nächste Lektion können Sie auswählen, ob Sie die Möglichkeiten zum Auswählen von auszuführendem Code in Genauere Betrachtung: Verwenden von Select Case zum Entscheiden zwischen mehreren Auswahlmöglichkeiten kennenlernen möchten, oder Sie können mit der nächsten Lektion, Vorgehensweise bei Problemen: Behandeln von Fehlern, fortfahren.

Siehe auch

Aufgaben

Festlegen von wiederholten Aktionen im Programm: Die For...Next-Schleife

Vergleiche: Ausdrücke zum Vergleichen von Werten

Referenz

If...Then...Else-Anweisung (Visual Basic)