คุณต้องการ:
foreach (int number in numbers) // <--- go back to here --------+
{ // |
if (number < 0) // |
{ // |
continue; // Skip the remainder of this iteration. -----+
}
// do work
}
ต่อไปนี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับคำหลักcontinue
ปรับปรุง:เพื่อตอบสนองต่อคำถามติดตามของไบรอันในความคิดเห็น:
คุณช่วยอธิบายเพิ่มเติมสิ่งที่ฉันจะทำอย่างไรถ้าฉันซ้อนสำหรับลูปและต้องการข้ามการวนซ้ำของหนึ่งในการขยาย?
for (int[] numbers in numberarrays) {
for (int number in numbers) { // What to do if I want to
// jump the (numbers/numberarrays)?
}
}
A continue
ใช้กับขอบเขตการปิดล้อมที่ใกล้ที่สุดเสมอดังนั้นคุณจึงไม่สามารถใช้เพื่อแยกวงลูปออกนอกสุด หากเงื่อนไขเช่นนั้นเกิดขึ้นคุณจะต้องทำสิ่งที่ซับซ้อนมากขึ้นโดยขึ้นอยู่กับสิ่งที่คุณต้องการเช่นbreak
จากวงในและจากนั้นก็continue
ไปที่วงด้านนอก ดูที่นี่สำหรับเอกสารเกี่ยวกับที่คำหลักbreak
break
C # คำหลักที่มีความคล้ายคลึงกับ Perl last
คำหลัก
นอกจากนี้ให้พิจารณาข้อเสนอแนะของดัสตินเพื่อกรองค่าที่คุณไม่ต้องการดำเนินการล่วงหน้า:
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.
}
}