C# Döngü Yapıları
Döngüleri genel anlamda tanımlayacak olursak bir program içerisinde bir işlemi birden fazla yaptırmamız gerekirse 2 seçeneğimiz vardır;Ya tek tek aynı kodları yazarız yada bir döngü çeşidini seçerek tek komutla bu işlemlerin hepsini yaptırırız tabi doğal olarak 2. seçeneği kullanmak en kolay ve hızlı yoldur. Burada dikkat edilmesi gereken önemli nokta hangi döngü çeşidini seçip bunu doğru bir şekilde uygulamaktır.
Bu makale sonunda döngülere neden ihtiyaç duyduğumuzu nerelerde kullandığımızı ve işimizi nasıl kolaylaştıracaklarını öğreneceğiz.
For Döngüsü
Bu döngü çeşidi en sık kullanılan döngü çeşididir.Başlangıç değerinden itibaren belirtilen koşul sağlanana kadar içine yazıldığı kod parçasını ardı ardına çalıştırır.
[csharp]for (başlangıç;koşul;artım)
{
//yapılacak işler;
} [/csharp]
Başlangıç : Döngü kontrol değişkenidir.Döngü içerisinde sayaç işlevini görür.Tabi başlangıç değeri döngü dışında da tanımlanabilir.
Koşul : Bu kısım true oldukça döngü çalışır Döngü de kod işletilip sona geldiğinde tekrar bu koşulu kontrol edip devam edip etmeyeceğine karar verir.
Artırım : Burada Başlangıç değerinin döngünün her adımda artırma yada azaltma miktarını belirler.
Örnek :
[csharp]int toplam = 0;
for (int i = 1; i <=100; i++)
{
toplam += i;
}
Console.WriteLine(toplam);
Console.ReadLine();[/csharp]
While Döngüsü
Bir koşula bağlı olarak (koşul sonucu true olduğu sürece) bir takım kodlamaları tekrar tekrar çalıştırmak için kullanılan döngüsel yapıdır.
[csharp]while (koşul)
{
Kodlamalar;
Denetim değişkeni güncellemesi (sayaç);
}[/csharp]
While döngüsü bir koşul sağlanıyorken dönmeye devam eder koşul false değerini verdiği zaman ise sonlandırılır. Daha çok döngünün kaç kez döneceğini, belirli bir koşula bakarak programın akışına göre bilgisayarın belirlemesi gereken durumlarda kullanılır.
Örnek :
[csharp]int say=1; while(say<=10) // bu satırda noktalı virgül kullanılmadığına dikkat ediniz! { Console.WriteLine(say); say++; } Console.ReadKey();[/csharp]
Do While Döngüsü
While ve for ifadelerinin her ikisinde de koşul (boolean ifade) döngünün hemen başında sorgulanmaktadır. Dolayısıyla belirtilen koşul, true değerini üretmezse döngüdeki kodlar çalışmayacaktır. Oysa do ifadesinde durum farklıdır. do ifadesinde koşul (boolean ifade) döngünün sonunda verilmektedir. Bu durum döngünün en az bir defa mutlaka çalışacağı anlamına gelmektedir.
[csharp]do
{
Kodlamalar;
}
While (koşul – boolean ifade)[/csharp]
Örnek :
[csharp] //kontrol değişkenim int sayac = 1; //döngümüz do { Console.Write(” {0}”, sayac); ++sayac; } while (sayac <= 20); //döngümüzün koşul ifadesi Console.ReadLine();[/csharp]
Foreach Döngüsü
C#’ta foreach döngüsü bir dizi belirten ifadenin veya bir koleksiyonun her elemanı için yapısındaki kodları çalıştıran döngüdür.
[csharp]foreach (degisken_tipi degisken in dizi)
{
//kodlar;
}[/csharp]
Tanımlanan değişken, sırasıyla belirtilen dizi içerisindeki elemanları tutar.
Foreach döngüsü döngüye ait değişkeni kullanmamıza imkan sağlar. Değişkeni istediğimiz şekilde istediğimiz işleme sokabiliriz. Ancak döngüye müdahale edemeyiz.
Örnek :
[csharp]
int[] sayilar={3,5,1,7,4};
foreach (int deger in sayilar)
{
Console.WriteLine(deger);
}
Console.ReadKey(); [/csharp]
Break ve Continue İfadeleri
Break
Döngülerde çok fazla tavsiye edilmemesine rağmen özel durumlarda ihtiyaç hâlinde kullanılabilecek ifadelerdir. Break komutu, switch ifadesinde kodlamayı bulunduğu yerde bitirmek için yani kodlamayı kesmek için kullanılmıştı. Döngülerdeki kullanım alanı da bu şekildedir. Break komutu, döngüden çıkmak için kullanılan bir komuttur. İşleyiş, döngüden sonraki komuttan devam edecektir.
Örnek :
[csharp]char karakter;
do
{
Console.Write(“bir karakter giriniz : “);
karakter = Convert.ToChar(Console.ReadLine());
if (karakter ==’e’ || karakter == ‘E’)
{
break;
Console.WriteLine(“break uygulaması..”);
}
}
while (true);
Console.WriteLine(“dongu blogundan çıkıldı…”);
Console.ReadLine();[/csharp]
Continue
Bu ifade de ise continue anahtar kelimesini gören derleyici döngü tamamen çıkmaz sadece döngü bloğunda continue ifadesinden sonraki kısmı işlemeden döngünün başına döner. Continue ifadesi ise döngüdeki denetim ifadesinin (sayaç) değerini bir sonraki konuma
getirmek için kullanılır.
Örnek :
[csharp]for(int sayac = 20;sayac >= 0;sayac–)
{
if(sayaç % 3 == 0) continue;
Console.WriteLine(sayac);
}[/csharp]
Yukarıdaki görülen kodlama; 3‘ün katı olan sayılar hariç 0 ile 20 arasındaki sayıları ekrana yazdırmak için kullanılmaktadır. 3‘ün katı olan sayıları hariç tutmak için continue ifadesi kullanılmıştır.
Kaynak: Megep Modülleri