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


For dışına bir bool değişken ekle.
Case1'e if yerleştir, Bool'u true yap.

Switch dışına da bir if yerleştir, bool true ise break çalıştır, döngüyü kırsın.
 
Tam olarak ne yapmak istediğinizi anlatabilir misiniz?

Şahsen bu algoritma mantıklı değil.
 
For dışına bir bool değişken ekle.
Case1'e if yerleştir, Bool'u true yap.

Switch dışına da bir if yerleştir, bool true ise break çalıştır, döngüyü kırsın.
Evet. Pek verimli olmayacak olsa da.

C#:
        _ = 0;
        for(int i=0;i<10;i++)
        {
            if (_) {
                break;
            }
            switch(i)
            {
                case 1:
                    if(i == 1)
                    {
                        _ = 1;
                        Console.WriteLine("Switch bitti.");
                        break;
                    }
            }   
        }

Şahsen bu algoritma mantıklı değil.
Katılıyorum. Mantıksız ve verimsiz.
 
Tam olarak ne yapmak istediğinizi anlatabilir misiniz?

Şahsen bu algoritma mantıklı değil.
Bir filtreleme sistemi. Düzensiz dizileride kullanarak birşeyler yapmaya çalıştım ama pek mantıklı olmadığını bende farkettim. Genede merak ettiğim için sormuştum yapılabilirmi diye. Teşekkür ederim yardımcı olan herkese.
 
Şimdi, For içinde Switch case kullanmak mantıksız değil. Ancak sizin yapınız mantıksız doğrusu. Bunun yerine OOP, yani nesne tabanlı programlama mantığına göre kod yazmanızı öneririm.

Class'lar ile çalışın.
 
Tuhaf bir şey yapmaya çalışıyorsunuz. Bunu switch içinde nasıl yapacağınızı araştırmak yerine alternatiflere yönelin. Ne yapmaya çalıştığınız anlaşılmıyor ama yanlış metodu kullandığınız belli.

Ha illa switch case kullanacaksanız switch komutundan önce if koyun döngüden çıkmak için. Ya da (ki kötü kod dizaynı) switchten önce bir değikeni 0’a ayarlayın, switch içindekiki o ifte de değişkene 1 atayın. Switchin sonunda o değişken 1’se looptan çıkın.
 
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ı
 
Son düzenleme:
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.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…