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.
}
}
}
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:
break anahtar kelimesini switch-case içerisinde kullanarak sadece switch'ten çıkın.
Eğer döngüden tamamen çıkmak istiyorsanız, break komutunu for döngüsü için kullanın.
İ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
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ı.");
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.