This article has been localized into German by the community.
Schleifen
Eine weitere wichtige Technik beim schreiben einer Software ist die Schleife - Die Möglichkeit einen beliebigen teil vom Code X-mal zu wiederholen. In C# gibt es 4 verschiedene Arten und wir werden uns jede einzelne ansehen.
Die while-schleife
Die while-schleife ist möglicherweise die einfachste, darum werden wir mit ihr starten. Die while-schleife führt einen Teil des Codes so lange aus, bis die Bedingung die du gibst wahr ist. Ein kleines Beispiel und dann weitere Erläuterungen.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int number = 0;
while(number < 5)
{
Console.WriteLine(number);
number = number + 1;
}
Console.ReadLine();
}
}
}
Versuch den Code auszuführen. Du wirst eine schöne Liste an Nummern bekommen, von 0 bis 4. Als erstes wird die Nummer als 0 definiert, jedesmal wenn die Schleife durchlaufen wird, steigt der Wert um eins. Aber warum geht es dann nur bis 4, obwohl der Code 5 angibt? Das die Bedingung wahr ergibt, muss die Nummer kleiner als 5 sein, was in diesem Fall bedeutet das der code der die Nummer ausgibt niemals genau die Nummer 5 erreicht. Das ist, weil die Bedingung der while-Schleife ausgewertet wird, bevor diese betreten wird.
Die do-schleife
Die do-while-Schleife funktioniert ähnlich wie die while-Schleife nur, dass bei einer do-while-Schleife die Bedingung erst am Ende der Schleife überprüft wird. Somit wird gewährleistet, dass die Codezeilen in der Schleife mindestens einmal ausgeführt werden.
int number = 0;
do
{
Console.WriteLine(number);
number = number + 1;
} while(number < 5);
Die Ausgabe ist die selbe - einzig wenn die Nummer gleich oder größer als 5 ist, wird die Schleife beendet.
Die for-schleife
Die for-schleife unterscheidet sich ein bisschen. Sie wird bevorzugt, wenn man weiß wieviele Iterationen man will, oder wenn man die genaue Menge der Iterationen weiß, oder wenn man eine Variable hat, die die Menge enthält. Hier ist ein Beispiel für diese Schleife.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int number = 5;
for(int i = 0; i < number; i++)
Console.WriteLine(i);
Console.ReadLine();
}
}
}
Sie erzeugt exakt das selbe Ergebnis, nur das diese Schleife kompakter ist. Sie besteht aus 3 Teilen - wir initialisieren eine Zählervariable, setzten eine Bedingung die überprüft werden soll und inkrementieren den Zähler ( ++ Bedeutet das selbe als "variable = variable + 1").
Der Teil, an dem wir die Variable mit 0 definieren, wird nur einmal beim Starten der Schleife ausgeführt. Die anderen zwei Teile werden bei jeder Iteration der Schleife ausgeführt. Bei jedem Schleifendurchlauf wird "i" mit unserer Variablen verglichen - wenn "i" kleiner als die Zahl ist, wiederholt sich die Schleife ein weiteres mal. Nach dem Durchlauf wird "i" um eins inkrementiert.
Führ dieses Programm aus, lass es anschließend nocheinmal laufen aber veränder dabei die Variable "number" größer oder kleiner als 5. Die Schleife wird auf den Wechsel reagieren.
Die foreach-Schleife
Die letzte Schleife die wir uns ansehen ist die "foreach-schleife". Sie arbeitet mit Auflistungen von Elementen, zum Beispiel mit Arrays oder anderen Listentypen. In diesem Beispiel verwenden wir eine einfache Arrayliste. Sie arbeitet gleich wie ein Array, aber keine Sorge, wir werden uns das in einem späteren Kapitel genauer anschauen.
using System;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
list.Add("John Doe");
list.Add("Jane Doe");
list.Add("Someone Else");
foreach(string name in list)
Console.WriteLine(name);
Console.ReadLine();
}
}
}
Okay, hier haben wir eine Instanz einer Arrayliste erstellt und ein paar "string" Elemente hinzugefügt. Wir benötigen die foreach-schleife um jedes einzelne Element zu durchlaufen, dabei setzten wir die Variable des Namens in das Element das gerade erreicht wurde. Wie Sie sehen können deklarieren wir die Variable als String-Typ - Sie müssen der foreach-schleife immer mitteilen, welchen Datentyp Sie aus der Sammlung entnehmen möchten. Falls Sie eine Liste verschiedener Typen haben, können Sie die Objektklasse anstelle einer bestimmten Klasse verwenden, um jedes Element als Objekt herauszuziehen.
Bei der Arbeit mit Collections werden die foreach-Schleifen normalerweise bevorzugt, weil sie für diese Arbeitsabläufe einfacher zu handhaben sind als die anderen Schleifen.