Laden...

Wofür eigentlich do while?

Erstellt von Totenmond vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.988 Views
Totenmond Themenstarter:in
14 Beiträge seit 2005
vor 18 Jahren
Wofür eigentlich do while?

Moinsen,

habe hier gerade eine kleine Blockade. 🙂
Zwar weiss ich wie man While und auch Do-While Schleifen programmiert
und kenne auch den wesentlichen Unterschied der beiden Schleifen.
Aber genau da habe ich ein kleines Problemchen.

Eine Do-While Schleife wird ja mindestens einmal durchlaufen.
Erst nach einem Durchlauf wird geprüft, ob die Bedingung wahr
oder unwahr ist.

Mir fällt nur kein Beispiel ein, wo eine Do-While Schleife Sinn machen würde...

Als Zählerschleife setze ich eigentlich meist die For-Schleife ein.
Wofür aber braucht man die Do-While Schleife ? aufdemschlauchsteh

Danke
Totenmond

Linux is like a Wigwam: no windows, no gates and an apache inside.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo Totenmond,

do-while-Schleifen braucht man auch eher selten. Wenn du sie nicht braucht, dann mach dir nichts draus.

herbivore

PS: In http://www.guidetocsharp.de/guide/guide6.html findest du ein Beispiel für eine do-while-Schleife.

P
939 Beiträge seit 2003
vor 18 Jahren

Ein Szenario wo das vorkommen kann:

  • die Methode mit der Schleife kann die Abbruchbedingung nicht selbst initialisieren.
  • die Schleife soll mindestens einmal durchlaufen werden.

Konkretes Szenario:

  • zwei oder mehr Threads synchronisieren sich per WaitHandle.
  • bekommt ein Thread das Signal zum Weiterlaufen, prüft er zunächst eine Bedingung.
  • ist diese nicht erfüllt, kehrt er zurück in den Wartezustand.

Würde die Bedingung gleich zu Beginn geprüft, würde der Thread die Warteanweisung immer überspringen und die anderen Threads würden für immer blockieren.

Gruss
Pulpapex