TOC

This article has been localized into German by the community.

Control Structures:

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

Das Gegenteil ist für die do-schleife wahr, welche in anderen Aspekten wie die while-schleife funktioniert.

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 2 Teile werden bei jeder Iteration der Schleife ausgeführt. Jeden Schleifendurchlauf wird "i" mit unserer Variablen verglichen - wenn "i" kleiner als die Zahl ist, wiederholt sich die Schleife ein weiteres mal. Nach dem durchlauf wurde "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 Sammlungen, werden die foreach-schleifen gegenüber den anderen normalerweise bevorzugt, weil sie einfacher sind für diese Arbeitsabläufe als die anderen Schleifen.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!