Kamu ingin:
foreach (int number in numbers) // <--- go back to here --------+
{ // |
if (number < 0) // |
{ // |
continue; // Skip the remainder of this iteration. -----+
}
// do work
}
Berikut ini lebih lanjut tentang continue
kata kunci .
Pembaruan: Menanggapi pertanyaan tindak lanjut Brian dalam komentar:
Bisakah Anda memperjelas lebih lanjut apa yang akan saya lakukan jika saya bersarang untuk loop, dan ingin melewatkan iterasi dari salah satu yang diperpanjang?
for (int[] numbers in numberarrays) {
for (int number in numbers) { // What to do if I want to
// jump the (numbers/numberarrays)?
}
}
A continue
selalu berlaku untuk lingkup penutup terdekat, jadi Anda tidak bisa menggunakannya untuk keluar dari loop terluar. Jika suatu kondisi seperti itu muncul, Anda harus melakukan sesuatu yang lebih rumit tergantung pada apa yang Anda inginkan, seperti break
dari loop dalam, kemudian continue
pada loop luar. Lihat di sini untuk dokumentasi tentang break
kata kunci . Kata break
kunci C # mirip dengan last
kata kunci Perl .
Juga, pertimbangkan untuk mengambil saran Dustin untuk hanya memfilter nilai yang tidak ingin Anda proses sebelumnya:
foreach (var basket in baskets.Where(b => b.IsOpen())) {
foreach (var fruit in basket.Where(f => f.IsTasty())) {
cuteAnimal.Eat(fruit); // Om nom nom. You don't need to break/continue
// since all the fruits that reach this point are
// in available baskets and tasty.
}
}