If - Statement innerhalb eines Switch - Statements



  • Wieso kann man kein if - Statement innerhalb eines Switch - Statements machen?
    Bsp.:

                switch (2)
                {
                    if (true)
                    {
                        case 1:
                        Console.WriteLine("1");
                    break;
                         case 2:
                        Console.WriteLine("2");
                    break;
                        case 3:
                        Console.WriteLine("3");
                    break;
                    }
                    else
                    {
                        case 1:
                        Console.WriteLine("eins");
                    break;
                        case 2:
                        Console.WriteLine("zwei");
                    break;
                        case 3:
                        Console.WriteLine("drei");
                    break;
                }
            }
    

    Ich hoffe ihr versteht was ich probiere: Je nach dem welche Bedingung im If steht, sollen andere cases beim Switch ausgeführt werden. Ist das irgendwie möglich?


  • Mod

    Du willst if ... switch1 ... else ... switch2.



  • Warum ist das kein deutscher Satz?
    Es hat gestern regnen.

    Weil es in der Sprache nicht vorgesehen ist.
    Wenn du sowas machen möchtest, hole deine IF Bedingung aus dem Switch block raus und mache 2 Switch Statements
    Also

    if(true){
        switch(a){
         ...
       }
    }else{
       switch(a){
         ...
       }
    }
    

    Grüße


Log in to reply