C#根据foreach中的if语句转到列表中的下一个项目

Bre*_*ogt 56 c# asp.net if-statement

我正在使用C#.我有一个项目清单.我使用一个循环遍历每个项目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
   }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Ste*_*end 119

使用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;
   }
}
Run Code Online (Sandbox Code Playgroud)

官方文档在这里,但它们没有添加太多颜色.


Max*_*Max 15

试试这个:

foreach (Item item in myItemsList)
{
  if (SkipCondition) continue;
  // More stuff here
}
Run Code Online (Sandbox Code Playgroud)


Nei*_*ght 8

continue关键字会做你所追求的。 break将退出foreach循环,因此您需要避免这种情况。


Eni*_*ity 6

使用continue代替break。:-)