В Perl я могу пропустить итерацию foreach (или любой цикл) с помощью next;
команды.
Есть ли способ пропустить итерацию и перейти к следующему циклу в C #?
foreach (int number in numbers)
{
if (number < 0)
{
// What goes here to skip over the loop?
}
// otherwise process number
}
Ответы:
Вы хотите:
Вот еще о
continue
ключевом слове .Обновление: в ответ на дополнительный вопрос Брайана в комментариях:
A
continue
всегда применяется к ближайшей охватывающей области, поэтому вы не можете использовать его, чтобы выйти из внешнего цикла. Если возникает такое условие, вам нужно сделать что-то более сложное в зависимости от того, что именно вы хотите, например,break
от внутреннего цикла, а затемcontinue
от внешнего цикла. Смотрите здесь для документации поbreak
ключевому слову .break
C # ключевое слово похож на Perllast
ключевое слово.Кроме того, рассмотрите предложение Дастина просто отфильтровать значения, которые вы не хотите обрабатывать заранее:
источник
goto
самом деле полезен для ситуации, о которой спрашивает Брайан. Добавьте метку, например,nextArray:
внизу внешнего цикла, а затем,goto nextArray;
когда вы захотите перейти к ней.Другой подход заключается в фильтрации с использованием LINQ перед выполнением цикла:
источник
Вы также можете перевернуть свой тест if:
источник
источник
Вы можете использовать
continue
заявление.Например:
источник
Другой подход с использованием linq:
Если вы хотите пропустить первый в ряде пунктов.
Или используйте,
.SkipWhere
если хотите указать условие пропуска.источник
Используйте оператор continue:
источник
Самый простой способ сделать это, как показано ниже:
источник