Herkese merhaba. 😊 Programlama yaparken döngü ve koşulları oldukça sıklıkla kullanacağımızı söylemişim. Koşul gerçekleştiğinde ya da döngü içerisinde bazı durumlarda başka bir yere atlamak gerekebilir. Bu gibi senaryolarda özel olarak kullandığımız C# Jumping Keywords yapıları bulunuyor. Bu kelimeler break, continue, return ve go to. Kodunuzun herhangi bir yerinde bu kelimeleri kullanarak program akışını ayarlayabilirsiniz. Daha fazla uzatmadan bu kelimelerin anlamlarına ve kullanım örneklerine göz atalım.

C# Jumping Keywords

Break

Break keyword’ünü daha önce switch ifadesi içerisinde görmüştük. Döngülerden çıkmak için de break anahtar kelimesini kullanabiliriz. Break ifadesi içerisinde bulunduğu döngüden çıkmayı sağlar. İç içe döngü içerisinde de içinde bulunduğu döngüden çıkmayı sağlar. Basit bir örnekle break kullanımını görelim daha sonrasında da eğlenceli bir oyunda kullanımına bakalım.

for (int i = 0; i < 5; i++)
{
    if (i == 3)
    {
       Console.WriteLine("Döngü sonlandı!");
       break;
    }
    Console.WriteLine(i);
}

For döngüsü içerisindeki i değişkeninin değeri 3’e eşit olduğunda ekrana döngü sonlandı yazısı yazıp döngüyü sonlandırıyoruz.

Break-Örnek-1

Break kullanımını bir de iç içe for döngüsünde deneyelim.

for (int i = 0; i < 10; i++)
{
    int j = 6;
    while (j < 7)
    {
       Console.WriteLine("i: " + i);
       if (i == 5)
       {
           Console.WriteLine("j: " + j);
           Console.WriteLine("While döngüsü sonlandı");
           break;
       }
       j++;
    }
}

Break-Örnek-2

Gördüğünüz gibi break kelimesi while döngüsünün içerisinde bulunduğu için sadece onu sonlandırıyor. i değişkeninin değeri 5’e eşit olduğunda while döngüsünü sonlandırıyoruz. Break özel kelimesini anlamak mantığını iyice kavramak için debug modda çalışmanızı tavsiye ediyorum.

Continue

C# Jumping Keywords arasında az kullanılan bir kelime olan continue genellikle veri tabanı uygulamalarında tercih ediliyor. Döngü içerisinde bir sonraki iterasyona geçmek için kullanabiliriz. Örneği debug modda çalıştırarak çok daha kolay bir şekilde anlayabileceğinizi düşünüyorum.

for (int i = 1; i < 10; i++)
{
    if (i == 5)
    {
       Console.WriteLine("i: " + i);
       if (i == 5)
       {
           continue;
       }
       Console.WriteLine(i);
    }
}

Burada for döngüsü içerisinde i değişkeninin değeri artmaya devam ediyor. i değişkeni 5’e eşit olduğunda if’in içine giriyor ve continue kelimesi çalışıyor. Continue kelimesi döngüyü değişim kısmına atlatarak i’nin değerini arttırıyor.

Continue-Örnek-1

Gördüğünüz gibi ekrana 5 değerini yazdırmadan değeri direkt olarak 6’ya arttırdı.

Return

Return genellikle metotlardan değer döndürmek için kullanılsa da döngüleri sonlandırmak için de kullanılabilir. Ancak break komutundan farklı olarak return metotun sonuna atlar. Main içerisinde return kullanmayı denerseniz program çalışmaya başladığı anda sonlanır. Çalışma biçimini görmek için debug modunda inceleyebilirsiniz.

for (int i = 0; i < 10; i++)
{
    Console.WriteLine(i);
    if (i % 2 == 0)
    {
         return;
    }
}

Bu kodu main metodu içerisinde çalıştırdığımızda herhangi bir çıktı göremeyiz.

Go to

Go to anahtar kelimesi eski dillerden kalan bir yöntem. Burada biraz daha etiketleme mantığı var. Genellikle çok fazla karışıklığa neden olduğu için kullanılması tavsiye edilmez. Alternatif yöntem kullanarak go to kullanmaktan kaçınabilirsiniz. Bir koşul gerçekleştiğinde bir şeyin yapılmasını istiyorsanız tercih edebilirsiniz.

for (int i = 0; i < 10; i++)
{
    for (int j = 0; j < 20; j++)
    {
        for (int k = 0; k < 5; k++)
        {
            if (k == 2)
            {
                goto bitir;
            }
        }
    }
}

bitir:
    Console.WriteLine("k değeri 2'ye eşit");

Go-To-Örnek

Döngülerin içinde k değeri 2’ye eşit olduğunda bitir etiketiyle işaretlenmiş olan kısma gidip onu çalıştırması gerektiğini söylüyor. Çok basit ve kolay anlaşılan bir yapıya sahipmiş gibi görünse de büyük bir projede oldukça kafa karıştırıcı olabilir.

C# içerisinde yer alan jumping keywords bunlar. Bu kelimelerin çalışma mantığını anladıktan sonra programlama yaparken çok daha pratiklik kazanmış olursunuz. Bir sonraki yazıya kadar kendinize iyi bakın. 😊