English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo capitolo, imparerai come utilizzare il ciclo for, la struttura del ciclo for, i cicli for annidati che eseguono più volte istruzioni o blocchi di codice, e come uscire da un ciclo for.
La parola chiave for rappresenta il ciclo in C#. Il ciclo for esegue ripetutamente un blocco di istruzioni fino a quando la condizione specificata restituisce false.
Sintassi:
for (inizializzatore; condizione; iteratore) { //blocco di codice }
Il ciclo for contiene tre parti opzionali separate da punti e virgola:
Initializer: Usato per inizializzare una variabile che sarà una variabile locale del ciclo for e non può essere acceduta al di fuori del ciclo. Può anche essere zero o più istruzioni di assegnamento, chiamate di metodo, espressioni di incrementazione o decrementazione, come ++i o i++, e espressioni await.
Condition:La condizione è un'espressione booleana che restituirà true o false. Se il risultato del calcolo dell'espressione è true, eseguirà di nuovo il ciclo; altrimenti, esiterà dal ciclo.
Iterator:Definisce l'aumento o la riduzione del variabile di ciclo.
Il seguente ciclo for esegue un blocco di codice 10 volte.
for(int i = 0; i < 10; i++) { Console.WriteLine("Valore di i: {0}", i); }
Prova a vedere l'output:
Valore di i: 0 Valore di i: 1 Valore di i: 2 Valore di i: 3 Valore di i: 4 Valore di i: 5 Valore di i: 6 Valore di i: 7 Valore di i: 8 Valore di i: 9
Nell'esempio sopra, int i = 0 è un'espressione di inizializzazione, abbiamo definito un int La variabile i è inizializzata a 0. La seconda parte è l'espressione condizionale i < 10, se la condizione restituisce true, allora eseguirà un blocco di codice. Dopo aver eseguito il blocco di codice, passerà alla terza parte dell'iteratore. i+ + è una istruzione di incremento che aumenterà il variabile di ciclo i Il valore aumenta di 1. Ora, controllerà di nuovo l'espressione condizionale e ripeterà la stessa operazione fino a quando l'espressione condizionale restituisce false. La seguente figura spiega i passaggi di esecuzione del ciclo for.
La seguente figura spiega i passaggi di esecuzione del ciclo for.
Passaggi di esecuzione del ciclo for
Se un blocco di codice contiene solo una istruzione, non è necessario racchiuderla tra parentesi graffe { }, come segue.
Esempio: ciclo for
for(int i = 0; i < 10; i++){ Console.WriteLine("Valore di i: {0}", i); }
Le parti di initializer, condizione e iteratore sono opzionali. Puoi inizializzare le variabili prima del ciclo for e definire le condizioni e gli iteratori all'interno del blocco di codice, come segue.
Esempio: ciclo for C#
int i = 0; for(;;) { if (i < 10) { Console.WriteLine("Valore di i: {0}", i); i++; }else{ break; } }
Valore di i: 0 Valore di i: 1 Valore di i: 2 Valore di i: 3 Valore di i: 4 Valore di i: 5 Valore di i: 6 Valore di i: 7 Valore di i: 8 Valore di i: 9
Poiché queste tre parti sono opzionali nel ciclo for, è necessario prestare attenzione alla definizione delle condizioni e degli iteratori. Altrimenti, sarà un ciclo infinito che non finirà mai.
for ( ; ; ) { Console.Write(1); }
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
Il variabile di controllo del ciclo for può essere qualsiasi tipo di dati numerici, ad esempio double, decimal, ecc.
for (double d = 1.01D; d < 1.10; d += 0.01D) { Console.WriteLine("Valore di i: {0}", d); }
Valore di i: 1.01 Valore di i: 1.02 Valore di i: 1.03 Valore di i: 1.04 Valore di i: 1.05 Valore di i: 1.06 Valore di i: 1.07 Valore di i: 1.08 Valore di i: 1.09
La parte di passo del ciclo for può aumentare o diminuire il valore della variabile.
for (int i = 10; i > 0; i--) { Console.WriteLine("Valore di i: {0}", i); }
Valore di i: 10 Valore di i: 9 Valore di i: 8 Valore di i: 7 Valore di i: 6 Valore di i: 5 Valore di i: 4 Valore di i: 3 Valore di i: 2 Valore di i: 1
Puoi anche usare la parola chiave break per uscire da un ciclo for.
for (int i = 0; i < 10; i++) { if (i == 5) break; Console.WriteLine("Valore di i: {0}", i); }
Valore di i: 0 Valore di i: 1 Valore di i: 2 Valore di i: 3 Valore di i: 4
Un ciclo for può anche includere più espressioni separate da virgola come opzioni di inizializzazione e iteratori, come nel seguente esempio.
for (int i = 0, j = 0; i+j < 5; i++, j++) { Console.WriteLine("Valore di i: {0}, J: {1} ", i, j); }
Valore di i: 0, J: 0 Valore di i: 1, J: 1 Valore di i: 2, J: 2
Un ciclo for può anche includere istruzioni come opzioni di inizializzazione e iteratore.
int i = 0, j = 5; for (Console.WriteLine($"Inizializzatore: i={i}, j={j}"); i++ < j--; Console.WriteLine($"Iteratore: i={i}, j={j}")) { }
Output:
Inizializzatore: i = 0, j = 5 Iteratore: i = 1, j = 4 Iteratore: i = 2, j = 3 Iteratore: i = 3,j = 2
C# permette un ciclo for all'interno di un altro ciclo for.
for(int i = 0; i < 2; i++) { for(int j = i; j < 4; j++) Console.WriteLine("Il valore di i: {0}, J: {1}", i, j); } }
Il valore di i: 0,J:0 Il valore di i: 0,J:1 Il valore di i: 0,J:2 Il valore di i: 0,J:3 Il valore di i: 1,J:1 Il valore di i: 1,J:2 Il valore di i: 1, J: 3