A while ciklust a szakirodalom elöltesztelÅ‘s ciklusnak nevezi, mivel a ciklusmagban elhelyezett utasÃtások lefutása elÅ‘tt megnézi, hogy az ismétlési feltétel igaz-e. Amennyiben igen, akkor végrehajtja a ciklusmag utasÃtásait. Amennyiben pedig nem, akkor a program végrehajtása a ciklusmag után következik.
A definÃcióból adódóan tehát a while ciklus nem biztos, hogy egy alkalommal is le fog futni. Az utasÃtás szintaktikája a következÅ‘:
while ( feltétel )
{
//ciklusmag
}
Tipikusan akkor használjuk, ha elÅ‘re nem becsülhetÅ‘ meg, hogy a ciklusmag utasÃtásoknak hányszor kell végrehajtódniuk. Az alábbi példán egy rövid while ciklus látható:
using System;
namespace PeldaWhile
{
class Program
{
static void Main(string[] args)
{
int i = 0;
while (i<10)
{
Console.Write(i);
i++;
}
Console.ReadKey();
}
}
}
A program kimenete:
0123456789
A while ciklus különösen hasznos lehet, ha a -- operátort és a > operátort együtt alkalmazzuk a feltételben. Ezt sok esetben "goes to" vagy "goes torwards to" operátorként szokták nevezni. Valójában azonban két különálló operátor, csupán egyfajta szintaktikai trükk. Használatának valódi előnye modern architektúrákon már nincs. Anno azonban az x86 architektúra megjelenésekor a dekrementálás gyorsabban elvégezhető művelet volt, mint az inkrementálás. Az alábbi példa a -- és > operátorok együttes használatát mutatja be egy while ciklusban:
using System;
namespace PeldaWhile2
{
class Program
{
static void Main(string[] args)
{
int i = 10;
while (i-- > 0)
{
Console.Write(i);
}
Console.ReadKey();
}
}
}
A program kimenete:
9876543210