Condividi tramite


for (Riferimenti per C#)

Utilizzando un ciclo for, è possibile eseguire più volte un'istruzione o un blocco di istruzioni fino a quando un'espressione specificata non risulta essere in false. Questo tipo di ciclo è utile per la ripetizione su matrici e ad altre applicazioni in cui si conosce in anticipo quante volte il ciclo per scorrere.

Esempio

Nell'esempio seguente, il valore i viene scritto nella console e viene incrementato da 1 durante ogni iterazione del ciclo.

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

L'istruzione for nell'esempio precedente vengono eseguite le seguenti azioni.

  1. Innanzitutto, il valore iniziale i variabile viene stabilito. Questo passaggio si verifica solo una volta, indipendentemente dal numero di volte le ripetizioni del ciclo. È possibile pensare a questa inizializzazione come esterno verificanteti il processo di ciclo.

  2. Per valutare la condizione (i <= 5), il valore i viene confrontato a 5.

    • Se i è minore o uguale a 5, la condizione restituisce a truee si verificano le seguenti operazioni.

      1. L'istruzione Console.WriteLine nel corpo del ciclo visualizzare il valore i.

      2. Il valore i viene incrementato da 1.

      3. Restituisce il cicloinizio del passaggio 2 valutare nuovamente la condizione.

    • Se i è maggiore di 5, la condizione restituisce a falsee uscire dal ciclo.

Si noti che, se il valore iniziale i è maggiore di 5, il corpo del ciclo non funziona anche una volta.

Ogni istruzione for definisce un inizializzatore, la condizione e le sezioni di iteratore. Queste sezioni in genere determinare quante volte il ciclo scorre.

for (initializer; condition; iterator)
    body

Le sezioni hanno gli scopi seguenti.

  • La sezione dell'inizializzatore imposta le condizioni iniziali. Le istruzioni in questa sezione solo quando l'esecuzione, prima di immettere il ciclo. La sezione può contenere solo una delle due opzioni.

    • La dichiarazione e l'inizializzazione di una variabile di circuito locale, come nel primo esempio viene illustrato (int i = 1). La variabile è locale al ciclo e non può essere eseguito dall'esterno del ciclo.

    • Zero o più expressons di istruzione dall'elenco, separati da virgole.

      • Istruzione diassegnazione

      • chiamata di un metodo

      • preceduti o aggiungere alla fine dell'espressione incremento, come ++i o i++

      • preceduti o aggiungere alla fine dell'espressione decremento, come --i o i--

      • creazione di un oggetto utilizzando new

      • espressione diattendere

  • La sezione di condizione contiene un'espressione booleana che viene valutata per determinare se il ciclo deve essere chiusa o deve essere ancora.

  • La sezione di iteratore definisce si verifica dopo ogni iterazione del corpo del ciclo. La sezione di iteratore contiene zero o più delle espressioni di istruzione, separati da virgole:

    • Istruzione diassegnazione

    • chiamata di un metodo

    • preceduti o aggiungere alla fine dell'espressione incremento, come ++i o i++

    • preceduti o aggiungere alla fine dell'espressione decremento, come --i o i--

    • creazione di un oggetto utilizzando new

    • espressione diattendere

  • Il corpo del ciclo è costituita da un'istruzione, un'istruzione vuoto, o un blocco di istruzioni, creati racchiudendo zero o più istruzioni tra parentesi graffe.

    È possibile uscire da un ciclo for utilizzando la parola chiave interruzione, oppure è possibile passare all'iterazione successiva utilizzando la parola chiave continuare. È inoltre possibile uscire dal ciclo utilizzando di avanzamento, ritorno, l'istruzione o generare.

Il primo esempio di questo argomento viene illustrato il tipo più comune del ciclo for, che opera le opzioni seguenti per le sezioni.

  • L'inizializzatore dichiara e inizializza una variabile di circuito locale, i, che gestisce un conteggio di iterazioni del ciclo.

  • I controlli di condizione il valore della variabile del ciclo in base a un valore finale noto, 5.

  • La sezione di iteratore utilizza un'istruzione di incremento suffisso, i++, corrispondente a ogni iterazione del ciclo.

Nell'esempio seguente vengono illustrate diverse scelte meno comuni: assegnare un valore a una variabile esterna del ciclo nella sezione di inizializzazione, richiamando il metodo Console.WriteLine nell'inizializzatore che le sezioni iteratori e modificare i valori di due variabili nella sezione di iteratore.

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

Tutte le espressioni che definiscono un'istruzione for sono facoltative. Ad esempio, l'istruzione seguente viene creato un ciclo infinito.

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

Specifiche del linguaggio C#

Per altre informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.

Vedere anche

Riferimenti

Parole chiave di C#

foreach, in (Riferimenti per C#)

Istruzione for (C++)

Istruzioni di iterazione (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#