C# перейти к следующему элементу в списке на основе оператора if в foreach
Я использую C#. У меня есть список. Я перебираю каждый элемент с помощью foreach
. Внутри моего foreach
У меня много if
заявления проверять некоторые вещи. Если любой из этих if
операторы возвращает false, то я хочу, чтобы пропустить этот элемент и перейти к следующему элементу в списке. Все!--3--> инструкции должны быть проигнорированы. Я попытался использовать перерыв, но перерыв выходит из всего foreach
заявление.
это то, что я в настоящее время есть:
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
}
}
спасибо
5 ответов
использовать continue;
вместо break;
чтобы ввести следующую итерацию цикла, не выполняя больше содержащегося кода.
foreach (Item item in myItemsList)
{
if (item.Name == string.Empty)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
if (item.Weight > 100)
{
// Display error message and move to next item in list. Skip/ignore all validation
// that follows beneath
continue;
}
}
официальные документы здесь, но они не очень цвет.
попробуйте это:
foreach (Item item in myItemsList)
{
if (SkipCondition) continue;
// More stuff here
}
на continue
ключевое слово сделает то, что вы после. break
выход из foreach
цикл, поэтому вы захотите избежать этого.