for (C#-Referenz)for (C# reference)

Die Anweisung for führt eine Anweisung oder einen Anweisungsblock aus, während ein angegebener boolescher Ausdruck true ergibt.The for statement executes a statement or a block of statements while a specified boolean expression evaluates to true.

Sie können die Schleife an jedem Punkt im for-Anweisungsblock mit der Anweisung break unterbrechen oder mit der Anweisung continue direkt zum nächsten Durchlauf der Schleife springen.At any point within the for statement block, you can break out of the loop by using the break statement, or step to the next iteration in the loop by using the continue statement. Sie können eine for-Schleife auch mit den Anweisungen goto, return oder throw beenden.You also can exit a for loop by the goto, return, or throw statements.

Struktur der for-AnweisungStructure of the for statement

Jede for-Anweisung definiert die Abschnitte initializer, condition und iterator:The for statement defines initializer, condition, and iterator sections:

for (initializer; condition; iterator)  
    body  

Alle drei Abschnitte sind optional.All three sections are optional. Der Text der Schleife ist entweder eine Anweisung und ein Block von Anweisungen.The body of the loop is either a statement or a block of statements.

Im folgenden Beispiel wird die for-Anweisung mit allen Abschnitten definiert dargestellt:The following example shows the for statement with all of the sections defined:

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

Der Abschnitt initializerThe initializer section

Die Anweisungen im Abschnitt initializer werden nur einmal ausgeführt, bevor die Schleife beginnt.The statements in the initializer section are executed only once, before entering the loop. Der Abschnitt initializer ist eines der Folgenden:The initializer section is either of the following:

  • Die Deklaration und Initialisierung einer lokalen Schleifenvariable, auf die nicht von außerhalb der Schleife zugegriffen werden kann.The declaration and initialization of a local loop variable, which can't be accessed from outside the loop.

  • Null (0) oder mehr durch Kommas getrennte Anweisungsausdrücke aus der folgenden Liste:Zero or more statement expressions from the following list, separated by commas:

Der Abschnitt initializer im obigen Beispiel deklariert und initialisiert die lokale Schleifenvariable i:The initializer section in the example above declares and initializes the local loop variable i:

int i = 0

Der Abschnitt conditionThe condition section

Der Abschnitt condition muss ein boolescher Ausdruck sein, wenn er vorhanden ist.The condition section, if present, must be a boolean expression. Dieser Ausdruck wird vor jeder Schleifeniteration ausgewertet.That expression is evaluated before every loop iteration. Wenn der Abschnitt condition nicht vorhanden ist, oder der boolesche Ausdruck true ergibt, wird die nächste Schleifeniteration ausgeführt. Andernfalls wird die Schleife beendet.If the condition section is not present or the boolean expression evaluates to true, the next loop iteration is executed; otherwise, the loop is exited.

Im obigen Beispiel wird durch den Abschnitt condition bestimmt, ob die Schleife basierend auf dem Wert der lokalen Schleifenvariable beendet wird:The condition section in the example above determines if the loop terminates based on the value of the local loop variable:

i < 5

Der Abschnitt iteratorThe iterator section

Der Abschnitt iterator definiert, was nach jeder Iteration des Texts der Schleife geschieht.The iterator section defines what happens after each iteration of the body of the loop. Der Abschnitt iterator enthält keine oder mehrere der folgenden durch Kommas getrennten Anweisungsausdrücke:The iterator section contains zero or more of the following statement expressions, separated by commas:

Im Beispiel wird die lokale Schleifenvariable durch den Abschnitt iterator inkrementiert:The iterator section in the example above increments the local loop variable:

i++

BeispieleExamples

Das folgende Beispiel veranschaulicht mehrere weniger übliche Verwendungen der Abschnitte der for-Anweisung: das Zuweisen eines Werts für eine externe Schleifenvariable im Abschnitt initializer, das Aufrufen einer Methode in den Abschnitten initializer und iterator und das Ändern der Werte von zwei Variablen im Abschnitt iterator.The following example illustrates several less common usages of the for statement sections: assigning a value to an external loop variable in the initializer section, invoking a method in both the initializer and the iterator sections, and changing the values of two variables in the iterator section. Klicken Sie auf Run (Ausführen), um den Beispielcode auszuführen.Select Run to run the example code. Danach können Sie Änderungen am Code vornehmen und ihn erneut ausführen.After that you can modify the code and run it again.

int i;
int j = 10;
for (i = 0, Console.WriteLine($"Start: i={i}, j={j}"); i < j; i++, j--, Console.WriteLine($"Step: i={i}, j={j}"))
{
    // Body of the loop.
}

Im folgenden Beispiel wird die Endlosschleife for definiert:The following example defines the infinite for loop:

for ( ; ; )
{
    // Body of the loop.
}

C#-SprachspezifikationC# language specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation.For more information, see the C# Language Specification. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.The language specification is the definitive source for C# syntax and usage.

Siehe auchSee also

Die for-Anweisung (C#-Spezifikation)The for statement (C# language specification)
C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
foreach, inforeach, in
for-Anweisung (C++)for Statement (C++)
IterationsanweisungenIteration Statements