C# While Döngüsü
- 361
- (2)
- (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
Siyah ekranda ok tuşları ile çalışan menü ve fatura kayıtları oluşturup listeyebileceğiniz bir uygulama örneğini inceleyebilirsiniz