Tekrar eden işlemlerde sıklıkla başvurulan yöntemlerden biri de döngülerdir. C# programlama dilinde temel olarak (while, do while, for ve foreach) döngüleri bulunmaktadır.
for
for döngüsünün ilk ifadesi, döngünün akışını kontrol edecek değişkenin tanımlanmasını ve başlangıç değerinin atanmasını sağlar. Bu değişken ikinci ifadede döngünün şartının sağlanıp sağlanmadığını kontrol eder. Son ifade ise, bu değişkenin nasıl değişeceğini kontrol eder. Artış veya azalış bu kısımda gerçekleşir.
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(i);
}Yukarıdaki örnekte döngü 10 defa tekrar eder ve ekrana 1’den 10’a kadar sayılar yazılır.
int toplam1 = 0;
for (int i = 1; i <= 100; i++)
{
toplam1 += i;
}
Console.WriteLine("Toplam: {0}", toplam1);Yukarıdaki örnekte 1’den 100’e kadar olan sayılar toplanmış ve ekrana 5050 yazılmıştır.
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 1)
{
continue;
}
if (i == 8)
{
break;
}
Console.WriteLine(i);
}Yukarıdaki döngüde tek sayılar ekrana yazdırılmamış ve döngü 8’e ulaştığında sonlandırılmıştır. Böylece ekrana 2, 4 ve 6 sayıları yazılır.
continue ifadesi ile döngü sadece ilgili şart sağlandığında çalışmaz ama çalışmaya devam eder.
break ifadesi ile döngüde ilgili şart sağlandığı anda döngüden çıkılır.
foreach
foreach döngüsü in anahtar kelimesi ile kullanılır ve for döngüsünden farklı olarak bir dizi veya bir koleksiyonun elemanlarını döndürür ve döngü sonlanır.
int[] sayilar = { 1, 2, 3, 4, 5 };
foreach (int sayi in sayilar) // int yerine var kullanılarak gelen elemanın türüne göre otomatik atanır
{
Console.WriteLine(sayi);
}while
while döngüsü, verilen koşul değeri sağlandığı sürece ilgili kod bloğunun sürekli olarak çalıştırılmasını sağlayan bir yapı sunar.
int sayac1 = 10;
while (sayac1 > 0)
{
Console.WriteLine(sayac1); // 10’dan 1’e kadar ekrana yazdırır
sayac1--;
}Koşul sağlandıkça döngü sonsuza kadar devam edeceği için sayac1 değişkeninin değeri 0’dan büyük oldukça döngünün çalışması sağlanır. Bunun için ilgili değişkenin değeri her seferinde 1 azaltılmıştır.
do while
do while döngüsü, while döngüsüne çok benzer, bu döngü şart hiç sağlanmamışsa bile en az bir kere çalışır.
int sayac2 = 0;
do
{
Console.WriteLine(sayac2);
sayac2--;
}
while (sayac2 > 0);Yukarıdaki döngü while bloğu içerisindeki şartı sağlamamasına rağmen en az bir kere çalıştırılmış ve ekrana “0” yazılmıştır.
Kaynak: https://learn.microsoft.com/tr-tr/dotnet/csharp/tour-of-csharp/tutorials/