Saya menemukan pertanyaan ini beberapa detik yang lalu, dan saya menarik beberapa materi dari sana: Apakah ada nama untuk konstruksi 'break n'?
Ini tampaknya menjadi cara rumit yang tidak perlu bagi orang-orang untuk menginstruksikan program untuk keluar dari double-nested for loop:
for (i = 0; i < 10; i++) {
bool broken = false;
for (j = 10; j > 0; j--) {
if (j == i) {
broken = true;
break;
}
}
if (broken)
break;
}
Saya tahu buku-buku teks suka mengatakan pernyataan goto adalah iblis, dan saya sendiri tidak suka sama sekali, tetapi apakah ini membenarkan pengecualian terhadap aturan tersebut?
Saya mencari jawaban yang berhubungan dengan n-nested for loop.
CATATAN: Apakah Anda menjawab ya, tidak, atau di suatu tempat di antara, jawaban yang benar-benar tertutup tidak diterima. Terutama jika jawabannya tidak, maka berikan alasan yang baik dan sah mengapa (yang tidak terlalu jauh dari peraturan Stack Exchange).
goto
: goto (C # Reference) - "Pernyataan goto juga berguna untuk keluar dari loop yang bersarang."
goto
sebenarnya diperlukan dalam saklar C # untuk beralih ke kasus lain setelah mengeksekusi kode apa pun di dalam kasus pertama. Itu adalah satu-satunya kasus saya menggunakan goto.
for (j = 10; j > 0 && !broken; j--)
maka Anda tidak perlubreak;
pernyataan itu. Jika Anda memindahkan deklarasibroken
ke sebelum loop luar dimulai, maka jika itu bisa ditulisfor (i = 0; i < 10 && !broken; i++)
maka saya pikir tidak adabreak;
yang diperlukan.