While döngüsü, belirlenen komut bloğunu koşul sağlandığı sürece çalıştıran temel döngü yapılarından bir tanesidir. Bu döngü, basit bir kullanıma sahip olması sebebiyle tercih edilir. While döngüsünün genel formu aşağıdaki gibidir.
While(koşul){
//Döngü gövdesi-Komutlar
}
Döngü gövdesi koşul deyimi true olduğu sürece çalıştırılır, koşul false olduğunda ise döngüden çıkılır. While döngüsünde döngü değişkeni bulunmaz, bunun yerine while bloğuna girmeden başlangıçta değeri bilinen bir değişken kullanılır. Koşul ifadesiyle ilişkili olan bu değişkenin değeri döngü bloğu içerisinde değiştirilir. Konunun daha iyi anlaşılabilmesi için sorular yazarak çözümlerini inceleyelim.
WHİLE DÖNGÜSÜ ÖRNEKLERİ
Örnek 1: Ekrana 10 kere “Merhaba Dünya” yazdıran basit bir program yazalım.
1 2 3 4 5 6 7 |
int i = 1; while (i<=10) { Console.WriteLine("Merhaba Dünya"); i++; } Console.ReadKey(); |

Döngünün nasıl çalıştığını adım adım inceleyelim.
Adım1: “i” değişkenini döngü bloğu dışarısında tanımladık ve başlangıç değeri olarak 1 değerini atadık, bu değişken sadece döngü değişkeni olarak görev yapacak.
Adım2: while döngüsü içerisinde yukarıda tanımladığımız “i” değişkenine bağlı olan bir koşul belirledik. i<=10 yani “i” değeri 10’dan küçük olduğu için döngü bloğu çalıştırıldı.
Adım3: Ekrana “Merhaba Dünya” mesajı verildi. “i” değişkenin değeri bizim tarafımızdan 1 arttırıldı.
Adım4: Tekrar başa dönülerek while döngüsü içerisindeki koşul kontrol edildi.
Adım5: Bu işlemler “i” değişkenin değeri her defasında 1 arttırılarak 11 olana kadar devam eder. Daha sonra koşul sağlanmadığı için döngü sonlanır.
[pull_quote_center]Örnek 2: Klavyeden girilen sayıdan geriye doğru birer saniye arayla sayan bir sayaç hazırlayalım.[/pull_quote_center]
1 2 3 4 5 6 7 8 9 |
Console.Write("Bir sayı giriniz:"); int sayi = Convert.ToInt32(Console.ReadLine()); while (sayi>=0) { Console.WriteLine(sayi); System.Threading.Thread.Sleep(1000); sayi--; } Console.ReadKey(); |

[pull_quote_center]Örnek3: O ile 100 arasındaki tek sayıları toplayarak sonucu ekranda gösteren programı yapalım.[/pull_quote_center]
1 2 3 4 5 6 7 8 9 10 |
int sayi = 0; int toplam = 0; while (sayi<=100) { if (sayi % 2 == 1) toplam += sayi; sayi++; } Console.WriteLine("Tek sayıların toplamı:" + toplam); Console.ReadKey(); |
Ekran Çıktısı:

[pull_quote_center]Örnek4: 0 ile 10 arasında rastgele üretilen bir sayıyı, kaç kerede tahmin ettiğinizi gösteren bir tahmin oyunu yapalım.[/pull_quote_center]
Çözüm: Öncelikle rastgele üretilen sayının kaç kerede bulunacağı bilinemediğinden koşul değeri true yapılarak sonsuz bir döngü oluşturulmuştur. Eğer kullanıcı sayıyı doğru tahmin ederse break anahtar sözcüğüyle döngü sonlandırılır. Döngünün kaç kere çalıştığını tutmak içinse “i” değişkeni kullanılmıştır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
int i = 1; Random rdn = new Random(); int rastgele=rdn.Next(0, 10); while (true) { Console.Write("Sayı Giriniz:"); int sayi=Convert.ToInt32(Console.ReadLine()); if (sayi == rastgele) { break; } i++; } Console.WriteLine(i+". tahmininizde sayıyı buldunuz."); Console.ReadKey(); |

[pull_quote_center]Örnek5: Klavyeden girilen sayının faktöriyelini hesaplayalım.[/pull_quote_center]
1 2 3 4 5 6 7 8 9 10 |
Console.Write("Faktöriyeli bulunacak sayıyı giriniz:"); int sayi = Convert.ToInt32(Console.ReadLine()); int sonuc = 1; while (sayi>1) { sonuc *= sayi; sayi-- ; } Console.WriteLine("Sonuç:"+sonuc); Console.ReadKey(); |
Ekran Çıktısı:

While döngüsü örneklerimiz bu kadar. Konuyla ilgili sorularınızı bana iletebilirsiniz.
örnekleride ele alarak geniş açıklansa çok daha mukemmel olur
Merhabalar hocam gerçekten çok iyi performansım vardı hem tekrar yapmış oldum.
Emeğinize sağlık.