Bu soruya bir saniye önce rastladım ve malzemenin bir kısmını oradan çıkarıyorum: 'break n' yapısı için bir isim var mı?
Bu, insanların programa çift iç içe bir döngüden çıkma talimatı vermeleri için gereksiz derecede karmaşık bir yol gibi görünüyor:
for (i = 0; i < 10; i++) {
bool broken = false;
for (j = 10; j > 0; j--) {
if (j == i) {
broken = true;
break;
}
}
if (broken)
break;
}
Ders kitaplarının goto ifadelerinin şeytan olduğunu söylemeyi sevdiğini biliyorum ve bunlara hiç düşkün değilim, ama bu kuralın bir istisnasını haklı çıkarıyor mu?
Döngüler için n-nested ile ilgili cevaplar arıyorum.
NOT: İster tamamen dar görüşlü cevaplar, aradaki evet, hayır veya bir yere cevap yok edilir. Özellikle cevap hayır ise, o zaman iyi ve meşru bir neden belirtin (bu zaten Stack Exchange düzenlemelerinden çok uzak değildir).
goto
: goto (C # Referans) - "goto ifadesi derin iç içe döngülerden kurtulmak için de yararlıdır."
goto
aslında bir C # anahtar ilk kod içinde herhangi bir kod yürütüldükten sonra başka bir duruma düşmesi için gereklidir. Yine de goto kullandığım tek durum bu.
for (j = 10; j > 0 && !broken; j--)
,break;
ifadeye ihtiyacınız olmaz . Eğerbroken
dış döngü başlamadan önce deklarasyonunu hareket ettirirseniz , o zaman bu şekilde yazılabilirse, hiçbir s gerekli olmadığınıfor (i = 0; i < 10 && !broken; i++)
düşünüyorum .break;