Freigeben über


for (C#-Referenz)

Wenn Sie eine for Schleife verwenden, können Sie eine Anweisung oder einen Anweisungsblock wiederholt ausführen, bis ein angegebener Ausdruck zu false ergibt.Diese Art der Schleife ist für das Durchlaufen Arrays und für andere Anwendungen nützlich, in denen Sie vorhersagen, wieoft Sie die Schleife durchlaufen möchten.

Beispiel

Im folgenden Beispiel wird der Wert von i in die Konsole geschrieben und erhöht durch 1 während jeder Iteration der Schleife.


class ForLoopTest 
{
    static void Main() 
    {
        for (int i = 1; i <= 5; i++)
        {
            Console.WriteLine(i);
        }
    }
}
/*
Output:
1
2
3
4
5
*/

Die for-Anweisung im vorherigen Beispiel führt die folgenden Aktionen aus.

  1. Zuerst wird der Anfangswert von variablem i festgelegt.Dieser Schritt wird nur einmal, unabhängig davon, wieoft die Schleife wiederholt.Sie können diese Initialisierung als Geschehen außerhalb des - Prozesses vorstellen.

  2. Um die Bedingung (i <= 5) auswertet, wird der Wert von 5 bis i . verglichen.

    • Wenn i kleiner oder gleich 5 ist, ist die Bedingung zu true aus, und die folgenden Aktionen wird ausgeführt.

      1. Die Console.WriteLine-Anweisung im Text der Schleife wird der Wert von i an.

      2. Der Wert von wird von 1. i erhöht.

      3. Die Schleife wird am Anfang des Schritts 2, die Bedingung erneut auszuwerten zurück.

    • Wenn i größer als 5 ist, ist die Bedingung zu false aus, und beenden Sie die Schleife.

Beachten Sie, dass, wenn der Anfangswert von i größer als 5 ist, der Text der Schleife nicht noch einmal ausgeführt wird.

Jede - Anweisung definiert for Initialisierer, Bedingung und Iteratorabschnitte.Diese Abschnitte normalerweise bestimmen, wieoft die Schleife durchläuft.

for (initializer; condition; iterator)
    body

Die Abschnitte dienen den folgenden Zwecken.

  • Der Initialisiererabschnitt legt die ursprünglichen Bedingungen fest.Die Anweisungen in diesem Abschnitt Ausführung nur einmal, bevor Sie die Schleife eingeben.Der Abschnitt kann nur eine der beiden folgenden Optionen enthalten.

    • Die Deklaration und die Initialisierung einer Teilnehmeranschlussvariable, als der ersten Beispiel wird gezeigt int i = 1().Auf die Variable ist der - Schleife lokal und kann nicht außerhalb der Schleife zugegriffen werden.

    • Beliebige Anweisung expressons in der folgenden Liste, durch Trennzeichen getrennt.

      • Zuweisung-Anweisung

      • Aufruf einer Methode

      • Präfix oder Postfix Inkrement Ausdruck, z ++i oder i++

      • Präfix oder Postfix Dekrement Ausdruck, z --i oder i--

      • Erstellen eines Objekts mithilfe von neu

      • Sie erwarten Ausdruck

  • Der Bedingungsabschnitt enthält einen booleschen Ausdruck, der ausgewertet wird, um zu bestimmen, ob die Schleife beendet werden soll oder erneut ausgeführt werden soll.

  • Der Iteratorabschnitt definiert, was nach jeder Iteration im Text der Schleife geschieht.Der Iteratorabschnitt enthält null oder mehrere der folgenden Anweisungsausdrücke, durch Trennzeichen getrennt:

    • Zuweisung-Anweisung

    • Aufruf einer Methode

    • Präfix oder Postfix Inkrement Ausdruck, z ++i oder i++

    • Präfix oder Postfix Dekrement Ausdruck, z --i oder i--

    • Erstellen eines Objekts mithilfe von neu

    • Sie erwarten Ausdruck

  • Der Text der Schleife besteht aus einer Anweisung, eine leere Anweisung oder ein Block von Anweisungen, die Sie erstellen, indem Sie dem null oder mehr Anweisungen in geschweiften Klammern.

    Sie können aus einer for Schleife ausbrechen, indem Sie das - Schlüsselwort Unterbrechung verwenden, oder Sie können zur nächsten Iteration schrittweise durchlaufen, indem Sie das - Schlüsselwort Fortfahren verwenden.Sie können jede - Schleife auch beenden, indem Sie goto, eine Rückgabe oder Throw-Anweisung verwenden.

Im ersten Beispiel in diesem Thema werden die gängigste Art von for Schleife an, die die folgenden Optionen für die Abschnitte gilt.

  • Der Initialisierer deklariert und initialisiert eine Teilnehmeranschlussvariable, i, die eine Anzahl der Iterationen der Schleife beibehält.

  • Die Zustandsüberprüfungen der Wert der Schleifenvariable für einen bekannten endgültigen Wert, 5.

  • Der Iteratorabschnitt verwendet eine Postfixinkrementsanweisung, i++, um jede Iteration der Schleife auf Book.

Im folgenden Beispiel werden einige allgemeine weniger Möglichkeiten: einen Wert zu einer externen Schleifenvariable im Initialisiererabschnitt zuweisen, die Console.WriteLine-Methode im Initialisierer und in den Iteratorabschnitten und das Ändern der Werte von zwei Variablen im Iteratorabschnitt aufgerufen.

static void Main()
 {
     int i;
     int j = 10;
     for (i = 0, Console.WriteLine("Start: {0}",i); i < j; i++, j--, Console.WriteLine("i={0}, j={1}", i, j))
     {
         // Body of the loop.
     }
 }
 // Output:
 // Start: 0
 // i=1, j=9
 // i=2, j=8
 // i=3, j=7
 // i=4, j=6
 // i=5, j=5

Alle Ausdrücke, die eine for-Anweisung definieren, sind optional.Beispielsweise erstellt die folgende Anweisung eine Endlosschleife.

for (; ; )
{
    // ...
}

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

Referenz

C#-Schlüsselwörter

foreach, in (C#-Referenz)

for-Anweisung (C++)

Iterationsanweisungen (C#-Referenz)

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

C#-Referenz