
In programmazione, esistono diversi tipi di strutture di controllo iterative che consentono di specificare che una data istruzione (o blocco di istruzioni) deve essere eseguita ripetutamente sotto delle condizioni che, se false, ne consentono l’uscita. Le principali strutture di controllo iterative sono:
- Ciclo for
- Ciclo while
- Ciclo loop-until
Il ciclo while, in particolare, può presentarsi con due strutture diverse: do-while e while-do. Nonostante sembrino molto simili, queste due strutture hanno una differenza importantissima. Il primo, infatti, garantisce l’esecuzione di una iterazione poiché il controllo per la permanenza nella parte iterativa avviene solo dopo l’esecuzione del blocco di comandi. La seconda struttura, di contro, prima di eseguire iterativamente il blocco di comandi, controlla che siano rispettate le condizioni di continuazione del ciclo, implicando quindi che il blocco di comandi potrebbe non essere eseguito neanche una volta.
In generale, la struttura while-do è indicata quando la condizione di permanenza in un ciclo è una generica condizione booleana, indipendente dal numero di iterazioni eseguite. Le forme tradizionali di ciclo while possono essere parafrasate come “ripeti (il codice controllato) fintantoché resta vera la condizione C“. Questa condizione, come precedentemente detto, viene controllata prima di eseguire la prima iterazione del ciclo stesso; se essa risulta immediatamente falsa, le istruzioni nel ciclo non vengono eseguite.


In C# e VB.net i cicli while presentano codifiche diverse, ma i comandi rappresentano le stesse funzioni. Di seguito sono riportati i codici nei due linguaggi per i cicli while
VB.net
Il do-while in VB.net può essere codificato in due modi diversi, ma equivalenti.
Do { While | Until } condition
[ statements ]
[ Continue Do ]
[ statements ]
[ Exit Do ]
[ statements ]
Loop
' -or-
Do
[ statements ]
[ Continue Do ]
[ statements ]
[ Exit Do ]
[ statements ]
Loop { While | Until } condition
Alternativamente, è possibile utilizzare la struttura while-do:
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
C#
Anche in C# è possibile utilizzare sia la struttura do-while, sia la struttura while-do. La struttura do-while può essere scritta come segue:
do
{
[ statements];
} while (condition);
Mentre la struttura do-while presenta la seguente struttura:
while (condition)
{
[ statements];
}