small-step: c# - Abbruch mehrerer verschachtelter Schleifen auf einmal

Hallo alle,

ich möchte mehrere verschachtelte Schleifen in C# auf einmal abbrechen. Bei einer kann ich mit break arbeiten, aber bei mehreren? Ich bin mir ziemlich sicher, dass ich einmal eine Anweisung gesehen habe mit der ich die Anzahl der abzubrechenden Schleifen definieren konnte. Kann mir jemand weiterhelfen?

Gruß,
small-step

  1. echo $begrüßung;

    ich möchte mehrere verschachtelte Schleifen in C# auf einmal abbrechen. Bei einer kann ich mit break arbeiten, aber bei mehreren?

    goto bietet sich dafür an. Handelt es sich um einen Abbruch in einem Fehlerfall käme auch eine Exception in Frage.

    echo "$verabschiedung $name";

    1. Hallo dedlfix,

      goto bietet sich dafür an. Handelt es sich um einen Abbruch in einem Fehlerfall käme auch eine Exception in Frage.

      goto wäre wahrscheinlich wirklich das beste, wenn auch nicht unbedingt das schönste. Eine Exception kommt in diesem Fall nicht in Frage. Hm... Mal schauen wie ich das morgen löse. Danke für die Antwort!

      Gruß,
      small-step

  2. Hallo small-step,

    ich möchte mehrere verschachtelte Schleifen in C# auf einmal abbrechen. Bei einer kann ich mit break arbeiten, aber bei mehreren?

    Nicht mit break, sagt das Handbuch - und verweist auf goto und return. Somit hast Du zuzüglich der von dedlfix angesprochenen Exception drei Möglichkeiten.

    Ich bin mir ziemlich sicher, dass ich einmal eine Anweisung gesehen habe mit der ich die Anzahl der abzubrechenden Schleifen definieren konnte.

    Dann handelte es sich bei dem betreffenden Code nicht um C# sondern möglicherweise um PHP :-)

    Freundliche Grüße

    Vinzenz, der sich nicht mehr daran erinnern kann, wann er zuletzt goto verwendet hat.

    1. Hallo Vinzenz,

      Dann handelte es sich bei dem betreffenden Code nicht um C# sondern möglicherweise um PHP :-)

      Aber hallo, genau das war es! Hoffentlich gibt's das in C# 3 :-)

      Vinzenz, der sich nicht mehr daran erinnern kann, wann er zuletzt goto verwendet hat.

      Geht mir ähnlich...

      Danke und Gruß,
      small-step

  3. Hi small-steps,

    ich verwende leider sehr selten c#, demnach kann ich dir leider nicht sagen, ob die Version 2.0 etwas in der Art unterstützt, aber folgendes Konstrukt könnte ein (etwas komplizierterer) Weg sein dein Ziel zu erreichen.

    bool DoIt = true;
    while (Bedingung1 && DoIt)
    {
        while (Bedingung2 && DoIt)
        {
            while (Bedingung3 && DoIt)
            {
                 // Bedingung eingetreten Code zu verlassen
                 DoIt = false;

    //restlicher Code
                 if(DoIt)
                  {
                     WasAuchImmer();
                  }
            }
        }
    }

    Sollte der Fall eintreten und die Boolean-Variable wird false, dann geht er nicht mehr in die weiteren Schleifendurchgänge hinein.
    Hope it helps!

    Viele Grüße Noodles

    1. Hallo Noodles,

      ich verwende leider sehr selten c#, demnach kann ich dir leider nicht sagen, ob die Version 2.0 etwas in der Art unterstützt, aber folgendes Konstrukt könnte ein (etwas komplizierterer) Weg sein dein Ziel zu erreichen.

      Eigentlich auch keine schlechte Idee. Und schöner als Goto.

      Danke für die Hilfe!
      small-step

  4. Hehe,

    da sehe ich eben das C# und muss doch sofort an das C#-Mollpräludium von
    Sergej Rachmaninov denken!

    Einen schönen Abend noch,
    Hans