Bazı işler kaç kez tekrarlanacağı baştan belli olmadan yapılır. Mesela bir oyunda canın sıfıra düşene kadar devam edersin.
İşte böyle durumlarda while kullanılır. Koşul doğru kaldığı sürece döngü çalışmaya devam eder.
int enerji = 3;
while (enerji > 0)
{
Console.WriteLine("Devam ediyorsun...");
enerji--;
}
for genelde kaç kez çalışacağı belli olan tekrarlar için uygundur. while ise daha çok koşula bağlı tekrarlar için kullanılır.
Yani sayı odaklı tekrar varsa for, durum odaklı tekrar varsa while daha doğal gelir.
While döngüsünde her tur başlamadan önce koşul tekrar kontrol edilir. Koşul yanlış olursa döngü durur.
Bu yüzden koşulu etkileyen değişkenin döngü içinde güncellenmesi çok önemlidir.
int sayac = 1;
while (sayac <= 5)
{
Console.WriteLine(sayac);
sayac++;
}
Yeni başlayanların en sık yaptığı hatalardan biri, sayaç ya da koşulu güncellemeyi unutmaktır.
Böyle olunca döngü hiç bitmez. Buna sonsuz döngü denir ve programı kilitleyebilir.
int i = 1;
while (i <= 5)
{
Console.WriteLine(i);
}
While döngüsü çok kullanışlıdır ama en güvenli şekilde yazılması gerekir. Küçük bir kontrol hatası bile tüm akışı bozabilir.