C# Switch case ile döngünün içinden çıkmak

Kodum malesef pek okunaklı değil. Buraya atmam durumunda pek bişey anlaşılmayacaktır ama şöyle basit bir şekilde anlatabilirim sanırım. İsterseniz atabilirim genede kodu.
C#:
for(int i=0;i<10;i++)
{
    switch(i)
    {
        case 1:
            if(DöngüyüKırmamGerekenBirDurum==true)
            {
                break; //Burada komple döngüyü kırmam gerekiyor ama bu komut sadece switch case i kırıyor.
            }
    } 
  
}
Bu yöntemin çalışacağını inanmıyorum. Continue ile veya farklı method oluşturup deneyebilirsiniz ama döngü büyükse işlemciyi yorabilir.

Eğer switch case'den sonra döngü durdurulduğunda çalışmasını istemediğiniz herhangi bir kod bloğu yoksa, direkt case içinde i'ye 9 değerini atarsanız da olur bence.
Merhaba! Switch-case yapısında, break ifadesi, yalnızca o case bloğundan çıkmayı sağlar, fakat döngüyü sonlandırmak için break ifadesini for döngüsünde kullanmanız gerekir. Bir if-else yapısı yazmak yerine, switch-case içerisinde bir kontrol mekanizması ekleyerek döngüden çıkabilirsiniz.

Bunu şu şekilde yapabilirsiniz:

  1. break anahtar kelimesini switch-case içerisinde kullanarak sadece switch'ten çıkın.
  2. Eğer döngüden tamamen çıkmak istiyorsanız, break komutunu for döngüsü için kullanın.
  3. İf-else yerine, switch içinde döngüyü sonlandırmak için bir kontrol değişkeni (örneğin bool exitLoop) kullanabilirsiniz.

    Örnek kod
  4. C#:
    bool exitLoop = false;
    
    for (int i = 0; i < 10; i++)
    {
        switch (i)
        {
            case 1:
                Console.WriteLine("Case 1 çalıştı.");
                break;
            case 2:
                Console.WriteLine("Case 2 çalıştı.");
                if (true)//* belirli bir koşul sağlanırsa */
                {
                    exitLoop = true; // Döngüden çıkılmasını isteyin.
                }
                break;
            case 3:
                Console.WriteLine("Case 3 çalıştı.");
                break;
            default:
                Console.WriteLine("Varsayılan case çalıştı.");
                break;
        }
    
        if (exitLoop)
        {
            break; // For döngüsünden çıkılır.
        }
    }
    
    Console.WriteLine("Döngüden çıkıldı.");

c# switch case kullanımı
bunlar da mantıklı
 
Aslında yapmanız gereken bool tipinde break_state adlı global bir değişken tanımlamak ardından switch-case içinde döngüyü kırmanız gereken yere bir if bloğu koyun ve bu blok break_stateyi true yapsın zaten casenin sonunda break kullandığınız için otomatik olarak for döngüsüne dönecek for döngüsünün sonuna da bir if bloğu koyun ve bu bloğuda break_state değişkeni ile kontrol edin break_state true ise break yapıp for döngüsünü kırın.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı