Fridthjof Paepke: Switch:mehr als eine Auswahl im case-Statement machbar?

Hi,

bin etwas schreibfaul und habe im Internet zwar jede Menge Switch-Beispiele gefunden aber keines, das Wertebereiche umfasst.

Geht das überhaupt?
Also, dass man (nur als Beispiel) statt jeden Monat einzeln "answitcht", schreiben kann

switch (Monat) {
case 'Januar','Februar','März','April':
        //mache irgendwas
        break
case 'Mai','Juni',usw....

Als Alternative könnte man das zwar einfach mit if-else erledigen, aber wenn man jetzt mal grade nicht nur 3 Quartale abfragen will, sondern mehrer Wertbereiche, dann wirds schnell ubübersichtlich.
Gibt es also die Möglichkeit, mehrere Auswahltreffer im case-Statement unterzubringen??

ciao

  1. Hi,

    Hi,

    Geht das überhaupt?

    Nein, das geht nicht. Für die Übersichtlichkeit kannst Du's aber so schreiben:

    switch (Monat) {
    case 'Januar': case 'Februar': case 'März': case 'April':
            //mache irgendwas
            break;
    case 'Mai': case 'Juni': usw....

    Grüße
    Andi

  2. Moin Fridthjof,

    so klappt's leider nicht:

    switch (Monat) {
    case 'Januar','Februar','März','April':
            //mache irgendwas
            break
    case 'Mai','Juni',usw....

    du kannst aber statt dessen folgendes Konstrukt verwenden (immer noch mehr Tipparbeit aber besser, als den Block mehrfach zu wiederholen:

    switch (Monat) {
    case 'Januar':
    case 'Februar':
    case 'März':
    case 'April':
            //mache irgendwas
            break
    usw....

    Viele Grüße
    Dirk