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.
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.
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.
L'istruzione Console.WriteLine nel corpo del ciclo visualizzare il valore i.
Il valore i viene incrementato da 1.
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
foreach, in (Riferimenti per C#)
Istruzioni di iterazione (Riferimenti per C#)