С# перейти к следующему элементу в списке, основанном на инструкции if в foreach
Я использую С#. У меня есть список предметов. Я прокручиваю каждый элемент с помощью foreach
. Внутри моего foreach
у меня есть много операторов if
, проверяющих некоторые вещи. Если какой-либо из этих операторов if
возвращает false, я хочу, чтобы он пропустил этот элемент и перешел к следующему элементу в списке. Все последующие инструкции if
следует игнорировать. Я попытался использовать разрыв, но разрыв выходит из всего оператора 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
}
}
Спасибо
Ответы
Ответ 1
Используйте 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;
}
}
Официальные документы здесь, но они не добавляют очень много цвета.
Ответ 2
Попробуйте следующее:
foreach (Item item in myItemsList)
{
if (SkipCondition) continue;
// More stuff here
}
Ответ 3
Вы должны использовать:
continue;
Ответ 4
Ключевое слово continue
сделает то, что вам нужно. break
выйдет из цикла foreach
, поэтому вы захотите избежать этого.
Ответ 5
Используйте continue
вместо break
.: -)