c# - Abbruch mehrerer verschachtelter Schleifen auf einmal
small-step
- programmiertechnik
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
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";
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
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.
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
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
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
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