Ich lerne gerade C#. Kann mir eine diese Frage beantworten der sich mit C# oder Programmieren auskennt?

4 Antworten

In der while-Schleife in Zeile 14-20 wird count solange increased bis count größer ist als der Wert von numOfPlayers. Da beide while-Schleifen dieselbe Bedingung haben um ausgeführt zu werden (das count < numOfPlayers ist) wird die untere while-Schleife nie ausgeführt sollte count den Wert von vorher beibehalten.

Nebenbei kann man statt der ersten while-Schleife eine for-Schleife nutzen und die letzte while-Schleife wird nie enden sollte numOfPlayers größer als count sein.

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#

in der Zeile 13 initialisierst du die Variable count vom Type int, was bedeutet das du im Arbeitsspeicher nun 4 Bytes reserviert hast für diese Variable.

Das Gleich Zeichen ist ein Zuweisungsoperator, assignment operator auf Englisch, welches der Variable in der Zeile 13 den Wert 0 zuweist.

also mit der folgenden Schreibweise initialisierst eine Variable vom Typ int

int count;

mit dieser Schreibweise deklarierst du eine Variable:

count = 0;

und mit dieser Schreibweise initialisierst und deklarierst du eine Variable:

int count = 0;

In der Zeile 25 wird die Variable somit nicht ein zweites mal initialisierst sondern dieser wird der Wert 0 zugewiesen

Und wenn du die Zeile 25 löscht, dann hätte die Variable an der Stelle den Wert von von der Variable numOfPlayers, wegen der vorherigen While Schleifen, welche solange läuft solange, laut deinem Sourcecode, count kleiner numOfPlayers ist.

Und weil die Variablen gleich sind, ab den Zeitpunkt ab den du die Zeile 25 gelöscht hättest, wird die zweite While Schleife gar nicht erst ausgeführt


smiregal8472  27.05.2024, 15:48
also mit der folgenden Schreibweise initialisierst eine Variable vom Typ int
...
mit dieser Schreibweise deklarierst du eine Variable:
...

Da hast du aber deklarieren und initialisieren miteinander verwechselt.

0
immerhin wurde int count = 0; bereits in line 13 initialisiert.

Ja. Und in Zeile 19 wird sie bei jedem Durchlauf der While-Schleife erhöht.

Und nun schaust du dir deine Bedingung für die zweite While-Schleife in Zeile 26 an und fragst dich, ob die Bedingung noch zutreffen kann, wenn du den Wert nicht wieder auf 0 zurück setzt.

Weil count auf Zeile 19 bei jedem Schleifendurchlauf um 1 erhöht wird.