跳过内循环中的迭代外循环

时间:2016-08-29 11:32:52

标签: c# c#-4.0

我有两个循环,当我在内循环中迭代时,我想根据我的条件跳过外循环的迭代; foreach (DataRow row in dt.Rows) { for (int i = 0; i < 6; i++) { if (row[i].Equals(DBNull.Value)) //skip iteration to outer loop. Go to next row. } } 只跳过内循环。有什么想法吗?

YYYY-MM-DD

2 个答案:

答案 0 :(得分:2)

如果你想离开内循环并继续外循环的下一行,我认为break会达到目的

  foreach (DataRow row in dt.Rows)
  {
            for (int i = 0; i < 6; i++)
            {
                if (row[i].Equals(DBNull.Value))
                    break;
            }
     }

答案 1 :(得分:0)

你可以这样做:

foreach (DataRow row in dt.Rows)
{
    foreach (int i in Enumerable.Range(0, 6).TakeWhile(n => !row[n].Equals(DBNull.Value)))
    {
        // no need for `if` at all now.
    }
}