Ти хочеш:
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.
}
}