C# While Döngüsü

  • 19
  • (1)
  • (5)
  • 25 May 2017

Döngüler hemen hemen bütün programlama dillerinde sıkça kullanılan bir tekniktir. Arka arkaya belli bir miktarda veya koşula bağlı gerçekleşen işlemlerde döngü kullanmak bir zorunluluktır.

while döngüsünün yapısı kısaca şöyledir.


while (koşul)
{
    // işlemler
}

Belirtilen yapıda koşul true olduğu süre işlemler kısmı tekrar ve tekrar çalıştırılır. Koşul false olduğu an döngü biter.


static void Main(string[] args)
{
    int i = 0;
    while (i < 5)
    {
        Console.Write($"{i + 1}. Satır");
        i++;
    }
    Console.ReadKey();
}

Sayaçlı döngüler için kullanılan for döngüsü gibi kullanılabilir. Ancak sayaç değeri yukarıda olduğu gibi while döngüsü başlamadan tanımlanmalıdır.

Döngüyü Kasıtlı Bitirme (break)

Döngü içerisinde istisnai bir durumda döngüyü kapatmak isteyebilirsiniz. Bu durumları if koşulu ile denetleyip break komutu ile döngüyü sonlandırabilirsiniz. Örneğin elinizde string dizisi türünden bir isim listesi var (string[]). Bu listedeki isimlerden herhangi birinin ilk harfinin B olduğu tespit edilince döngü kapansın.


string[] isimler = new string[] { "Semih", "Yusuf", "Ali", "Tolga",
    "Emre", "Hasan", "Necla", "Ayşe", "Şebnem", "Mustafa", "Kerim",
    "Lale", "Suat", "Bahattin", "Alparslan", "İsmail", "Tevfik" };
// 17 elemanlı bir dizi tanımlandı
int i = 0;
while (i < isimler.Length)
{
    string isim = isimler[i]; // dizinin her bir elemanı string türünden
    if (isim[0] == 'B') // 0 indisli karakter (char) Ş' ye eşitse
    {
        Console.WriteLine("Döngü sonlandırılıyor");
        break;
    }
    Console.WriteLine($"{isimler[i]} bilgisi işlendi");
    i++;
}
Console.ReadKey();

Bahattin ismi ve sonrası asla ekrana yazdırılmayacaktır. Çünkü ilk harfi B olan isim if koşulu ile farkedildiğinde ekrana "Döngü sonlandırılıyor" yazar ve ardından break komutu ile döngü sonlandırılır.

Döngü Adımını Kasıtlı Atlama (continue)

Döngü içerisinde istisnai bir durumda döngüyü kapatmak yerine o adımı atlamak istetebilirsiniz. Bu durumda break komutu yerine continue komutu kullanmalısınız. Bir önceki örnekte B harfi ile başlayan bir isim tespit edildiğinde döngü sonlanıyordu. Bu sefer B ve A harfleri ile başlayan isimler atlansın.

    
string[] isimler = new string[] { "Semih", "Yusuf", "Ali", "Tolga",
    "Emre", "Hasan", "Necla", "Ayşe", "Şebnem", "Mustafa", "Kerim",
    "Lale", "Suat", "Bahattin", "Alparslan", "İsmail", "Tevfik" };
// 17 elemanlı bir dizi tanımlandı
int i = 0;
while (i < isimler.Length)
{
    string isim = isimler[i]; // dizinin her bir elemanı string türünden
    if (isim[0] == 'Ş' && isim[0] == 'A') // 0 indisli karakter (char) Ş' ye veya A' ya eşitse
    {
        Console.WriteLine("Döngü adımı atlanıyor");
        i++; // Eğer bu satırı yazmazsanız döngü sonsuz kere tekrara düşecektir.
        // Çünkü i değeri artmadan döngü kendisini tekrar edecek ve asla isimler.Length değerine ulaşamayacaktır.
        continue;
    }
    Console.WriteLine($"{isimler[i]} bilgisi işlendi");
    i++;
}
Console.ReadKey();

İlişkili İçerikler

For döngülerinin nasıl yazıldığı ve kullanıldığı oldukça basit ve uygulayabileceğiniz bir konudur.

Siyah ekranda ok tuşları ile çalışan menü ve fatura kayıtları oluşturup listeyebileceğiniz bir uygulama örneğini inceleyebilirsiniz

Paylaşın
Etiket Bulutu