Genauere Betrachtung: Verwenden von Select Case zum Entscheiden zwischen mehreren Auswahlmöglichkeiten

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie mithilfe der Select Case-Anweisung Code auf der Grundlage mehrerer Bedingungen ausführen können.

In der vorigen Lektion wurde dargestellt, wie Sie mithilfe von If...Then-Anweisungen unterschiedliche Codeblöcke für verschiedene Bedingungen ausführen können. Es ist zwar möglich, in einer If...Then-Anweisung mithilfe des ElseIf-Schlüsselworts mehr als zwei Bedingungen auszuwerten, die Select Case-Anweisung ist jedoch sehr viel besser für die Auswertung mehrerer Bedingungen geeignet.

Für die Select Case-Anweisung gilt, dass Sie so viele Bedingungen (oder Fälle) verwenden können, wie Sie benötigen. Gleichzeitig können Sie auf komfortable Weise Code für Situationen schreiben, in denen mehrere Auswahlmöglichkeiten vorliegen. Angenommen, das Programm verwendet beispielsweise eine String-Variable für das Speichern einer Farbauswahl, und Sie benötigen den Farbwert. Der Code für die Select Case-Anweisung könnte folgendermaßen aussehen:

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
End Select

Wenn dieser Code ausgeführt wird, bestimmt Select Case den Wert (Color) des Ausdrucks. Angenommen, dass es sich bei Color um eine String-Variable handelt und dass diese Variable ein Parameter für eine Methode ist, die die Select Case-Anweisung enthält. Der Wert von Color wird dann mit dem Wert für die erste Case-Anweisung verglichen. Wenn die Werte übereinstimmen, wird die nächste Codezeile ausgeführt, und anschließend springt der Code zur End Select-Zeile. Stimmen die Werte nicht überein, wird die nächste Case-Zeile ausgewertet.

Die Case-Anweisung kann viele verschiedene Formen annehmen. Im Beispiel oben stellt sie eine String dar. Aber es ist jeder beliebige Datentyp oder Ausdruck möglich.

Sie können mit dem To-Schlüsselwort einen Bereich von Zahlen folgendermaßen auswerten:

Case 1 To 10

In diesem Beispiel führt jede Zahl zwischen 1 und 10 zu einer Übereinstimmung.

Sie können auch mehrere Werte in einer einzelnen Case-Anweisung auswerten, indem Sie die Werte wie nachfolgend aufgeführt durch Kommas von einander trennen.

Case "red", "white", "green"

In diesem Beispiel führt jeder der drei Werte zu einer Übereinstimmung.

Sie können auch Vergleichsoperatoren und das Is-Schlüsselwort verwenden, um Werte wie folgt auszuwerten:

Case Is > 9

In diesem Beispiel führt jede Zahl, die größer ist als 9, zu einer Übereinstimmung.

Case Else

Die vorigen Beispiele funktionieren, wenn Sie alle möglichen Bedingungen kennen. Was geschieht jedoch, wenn eine unerwartete Bedingung auftritt? Wenn beispielsweise für Color der Wert yellow gelten würde, käme es bei der Auswertung durch den Code zu keiner Übereinstimmung, und es würde kein Meldungsfeld angezeigt.

Wenn, wie im folgenden Beispiel, keine Übereinstimmung gefunden wird, kann die Case Else-Anweisung zum Ausführen von Code verwendet werden.

Select Case Color
  Case "red"
      MsgBox("You selected red")
  Case "blue"
      MsgBox("You selected blue")
  Case "green"
      MsgBox("You selected green")
  Case Else
      MsgBox("Please choose red, blue, or green")
End Select

Wenn im oben stehenden Code für Color der Wert yellow gilt, käme es beim Vergleich der ersten drei Case-Zeilen durch den Code zu keiner Übereinstimmung. Bei Erreichen der Zeile Case Else wird die nächste Codezeile ausgeführt, bevor mit End Select fortgefahren wird.

So verwenden Sie die Select Case-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 SelectCase in das Feld Name ein, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  4. Ziehen Sie ein TextBox-Steuerelement und ein Button-Steuerelement aus der Toolbox auf das Formular.

  5. Doppelklicken Sie auf die Schaltfläche, um den Code-Editor zu öffnen.

  6. Geben Sie im Button1_Click-Ereignishandler folgenden Code ein.

    Dim Number As Integer = CInt(Textbox1.Text)
    Select Case Number
      Case 1
          MsgBox("Less than 2")
      Case 2 To 5
          MsgBox("Between 2 and 5")
      Case 6, 7, 8
          MsgBox("Between 6 and 8")
      Case 9 To 10
          MsgBox("Greater than 8")
      Case Else
          MsgBox("Not between 1 and 10")
    End Select
    
  7. Drücken Sie F5, um das Programm auszuführen.

  8. Geben Sie in das Textfeld eine Zahl ein, und klicken Sie auf die Schaltfläche.

    Ein Meldungsfeld wird angezeigt, in dem die Übereinstimmung der Case-Anweisung mit der von Ihnen eingegebenen Zahl angezeigt wird.

Nächste Schritte

In diesem Thema haben Sie gelernt, mithilfe der Select Case-Anweisung aus mehreren Bedingungen auszuwählen. Jetzt können Sie mit der nächsten Lektion, "Vorgehensweise bei Problemen: Behandeln von Fehlern", fortfahren.

Nächste Lektion: Vorgehensweise bei Problemen: Behandeln von Fehlern

Siehe auch

Aufgaben

Vorgehensweise bei Problemen: Behandeln von Fehlern

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

Referenz

Select...Case-Anweisung (Visual Basic)