Switch-Anweisung möglich, um mehrere Case-Matches in einem einzigen Fall einzuschließen?

9

Ich möchte mehrere Werte in einem einzigen Switch-Fall übergeben. Ich erkenne, dass es nicht möglich ist, wie ich es versuche. Gibt es einen anderen Weg, kurz, um jeden Fall auf seinen on-line zu setzen?

%Vor%     
Scott B 08.04.2011, 16:58
quelle

5 Antworten

25
%Vor%     
racetrack 08.04.2011, 17:01
quelle
2

Innerhalb der Switch-Struktur glaube ich nicht, dass es irgendeinen Weg gibt, etwas wie 'oder' auf einer Zeile zu tun. Das wäre der einfachste Weg:

%Vor%

Aber vor allem, wenn Sie nur einen Wert zurückgeben und keinen Code ausführen, würde ich Folgendes empfehlen:

%Vor%     
jon_darkstar 08.04.2011 17:06
quelle
2

Wenn Sie in Ihrem Fall break; nicht verwenden, fällt die Ausführung einfach in den nächsten Fall. Sie können dies zu Ihrem Vorteil nutzen, indem Sie alle Ihre Fälle zusammenlegen, z. B .:

%Vor%

Da es im Fall 'test1' kein break; gibt, wenn die Ausführung in diesem Fall endet (dh sofort, da keine Logik darin enthalten ist), wird die Steuerung in den Fall 'test2' fallen, der endet in seiner break -Anweisung.

In diesem Fall wird die break für diese Fälle nicht einmal benötigt, da die return -Anweisung dafür sorgt, dass die switch für sich alleine herauskommt.

    
AgentConundrum 08.04.2011 17:04
quelle
1

Ich denke, das ist so nah wie möglich.

%Vor%

Bearbeitet mit Korrektur.

    
Horus 08.04.2011 17:01
quelle
1

Wie wäre es damit?

%Vor%     
Bang Dao 08.04.2011 17:02
quelle

Tags und Links