C# Alternative zu goto

Unbekannt888

Reisender
Hey. Wie oben beschrieben suche ich eine Alternative zu goto.
Ich bin grad dabei C# in der Berufsfachschule zu lernen und wir sind erst bei
if und sowas. Ich bzw ein Klassenkamerad brauchte allerdings für sein "Programm"
(Nur eine kleine Konsolenanwendung) einen Befehl der wenn er an einem
bestimmten Punkt angekommen ist ihn zB zum Anfang zurücksetzt. Da war mir
sofort goto eingefallen und es hat auch wunderbar geklappt. Allerdings hat unser
Lehrer gesagt das er uns aus dem Fenster schmeißt wenn wir goto benutzen xD Die
Begründung hab ich vergessen. Is damit wohl zu unübersichtlich oder so. Eine
Alternative dazu wollte er uns nicht verraten. Er meinte nur das wir dazu schon
noch iwann kommen. Aber kann mir einer von euch weiterhelfen? :-D​
 
Ohne jetzt die Seite von patta zu durchforsten sage ich pauschal:
verwende do{ }while(Bedingung);

Also hier ein Beispiel:

GUT:

Code:
do
{
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
   irgendwasPassiert();
}while(ProgrammSollZurueckZuZumAnfang == true);
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
SCHLECHT:
Code:
Sprungmarke;
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
if(ProgrammSollZurueckZuZumAnfang == true)
   goto Sprungmarke;
irgendwasPassiert();
irgendwasPassiert();
irgendwasPassiert();
Bei einer while-Schleife sieht man sofort, welcher Bereich zurückgesprungen wird und kann auch nicht wild oder über Kreuz hin- und herspringen. Das schafft Übersicht und sorgt für sauberen Code.
Gotos gehen im Code unter und verfolgen keine richtige Struktur. Mein alter Prof. sagte immer: Ein (nicht objektorientierter) Code ist ordentlich, wenn man ihn mit einem Struktogramm abbilden kann.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Unbekannt888