Добавление этого, хотя и не идеальное или правильное решение, решает проблему на данный момент.
this.items = items[0]
Вы хотите:
foreach (int number in numbers) // <--- go back to here --------+
{ // |
if (number < 0) // |
{ // |
continue; // Skip the remainder of this iteration. -----+
}
// do work
}
Вот больше о continue
ключевое слово .
Обновление: В ответ на последующий вопрос Brian в комментариях:
Вы могли далее разъяснить то, что я сделал бы, если я вложил для циклов и хотел пропустить повторение одного из расширенных?
for (int[] numbers in numberarrays) { for (int number in numbers) { // What to do if I want to // jump the (numbers/numberarrays)? } }
А continue
всегда относится к ближайшему объему включения, таким образом, Вы не могли использовать его для убегания из наиболее удаленного цикла. Если бы условие как этот возникает, необходимо было бы сделать что-то более сложное в зависимости от точно, что Вы хотите, как break
от внутреннего цикла, то continue
на внешнем цикле. Посмотрите здесь для документации относительно break
ключевое слово . break
ключевое слово C# подобно ключевому слову Perl last
.
кроме того, полагайте, что предложение Dustin взятия просто отфильтровывает значения, которые Вы не хотите обрабатывать заранее:
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.
}
}
Другой подход должен отфильтровать использование LINQ, прежде чем цикл выполнится:
foreach ( int number in numbers.Where(n => n >= 0) )
{
// process number
}
Вы могли также зеркально отразить Ваш если тест:
foreach ( int number in numbers )
{
if ( number >= 0 )
{
//process number
}
}
foreach ( int number in numbers )
{
if ( number < 0 )
{
continue;
}
//otherwise process number
}
Можно использовать continue
оператор.
, Например:
foreach(int number in numbers)
{
if(number < 0)
{
continue;
}
}
Используйте продолжать оператор:
foreach(object number in mycollection) {
if( number < 0 ) {
continue;
}
}