Вы хотите:
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.
}
}