consente di ripetere un blocco di codice fintanto che una determinata condizione viene verificata (true)
potrebbe comunque non essere mai eseguito se la condizione non é mai vera
se si vuole che almeno una volta le istituzioni vengano eseguite occorre usare l'istruzione do

sintassi:
while (condizione)
{

......; istruzioni da ripetere
}

esempio: chiedo un numero ed scrivo la tabellina fino al 10
using System;
class Tabellina

{
public static void Main()
{
inti = 1; dichiaro la variabile i che fa da contatore che parte da 1
intnum = 0; variabile che contiene il numero digitato
Console.Write("Inserisci il numero (max 10) = "); stampo il messaggio per l'utente
num = Convert.ToInt32(Console.ReadLine()); leggo il numero da tastiera ed eseguo la conversione a numero intero

while(i< = 10) eseguo il ciclo while
{
Console.WriteLine("\n {0} x {1} = {2}",i,num,num*i);
++i; incremento il contatore
}

Console.ReadLine(); attendo un carattere qualsiasi digitato per chiudere il programma
}
}


break
un costrutto while può essere interrotto in base ad una eventuale condizione interna al blocco di codice con il comando break

esempio:
while(i< = 10)
{

if ((num*i)>25)
{
break; interrompo ed esco
}
Console.WriteLine("\n {0} x {1} = {2}",i,num,num*i);
++i; incremento il contatore
}