Zum Hauptinhalt springen

switch...case...default

switch...case...default

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Fallabfrage

Details

Syntax:

switch (<Ausdruck>)
{
case <Ausdruck> [[,<Ausdruck>]] : <Anweisung> [[;
case <Ausdruck> [[,<Ausdruck>]] : <Anweisung> ]]
[ default : <Anweisung> ]
}

Die Fallabfrage weist mehrere Verzweigungen auf. In Abhängigkeit eines Wertes (Ausdruck) wird eine von mehreren Anweisungen durchgeführt. Vor jeder dieser Anweisungen steht ein Ausdruck oder mehrere Ausdrücke. Ist dieser Ausdruck bzw. einer der Ausdrücke mit dem bestimmenden Wert identisch, so wird die nachfolgende Anweisung durchgeführt. Der bestimmende Wert kann von jedem Typ sein. Alle Ausdrücke vor den Anweisungen müssen vom gleichen Typ sein.

Beispiel:

switch (iCmdTyp)
{
case 1, 2 : iResult # 0;
case 3 : iResult # 1;
case 4 : iResult # 2;
default : iResult # -1;
}

In diesem Beispiel wird je nach Wert der Variablen 'iCmdTyp' der Wert der Variablen 'iResult' entsprechend definiert. Stimmt der Wert mit keinem der angegebenen Ausdrücke überein, wird die Anweisung nach default durchgeführt.

default muss in der switch-Anweisung nicht vorhanden sein. Ist default nicht vorhanden und stimmt keiner der Ausdrücke mit dem Bestimmungswert überein, so wird auch keine Anweisung durchgeführt. Der Effekt ist der gleiche, wenn default ohne eine nachfolgende Anweisung vorhanden ist.

Eine Besonderheit der switch-Anweisung besteht in der Verwendung von Ausdrücken bei den einzelnen Anweisungen, die auch Felder oder Systemvariablen enthalten können. Damit kann allerdings auch der gleiche Wert mehrfach in der switch-Anweisung enthalten sein. In diesem Fall wird nur die Anweisung beim ersten gleichen Wert durchgeführt.

info

Bei der Verwendung des PASCAL-Styles muss eine andere Syntax beachtet werden. Weitere Informationen befinden sich im Abschnitt Style-Unterschiede .