Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wofür eigentlich do while?
Totenmond
myCSharp.de - Member

Avatar #avatar-1697.gif


Dabei seit:
Beiträge: 14

Themenstarter:

Wofür eigentlich do while?

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Pulpapex
myCSharp.de - Member



Dabei seit:
Beiträge: 939
Herkunft: Rostock

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers