在Perl中,我可以跳过一个foreach(或任何循环)迭代与下一个;命令。
在c#中是否有一种方法可以跳过一个迭代并跳转到下一个循环?
foreach (int number in numbers)
{
if (number < 0)
{
// What goes here to skip over the loop?
}
// otherwise process number
}
在Perl中,我可以跳过一个foreach(或任何循环)迭代与下一个;命令。
在c#中是否有一种方法可以跳过一个迭代并跳转到下一个循环?
foreach (int number in numbers)
{
if (number < 0)
{
// What goes here to skip over the loop?
}
// otherwise process number
}
当前回答
最简单的方法如下:
//Skip First Iteration
foreach ( int number in numbers.Skip(1))
//Skip any other like 5th iteration
foreach ( int number in numbers.Skip(5))
其他回答
可以使用continue语句。
例如:
foreach(int number in numbers)
{
if(number < 0)
{
continue;
}
}
另一种方法是在循环执行之前使用LINQ进行过滤:
foreach ( int number in numbers.Where(n => n >= 0) )
{
// process number
}
foreach ( int number in numbers )
{
if ( number < 0 )
{
continue;
}
//otherwise process number
}
使用linq的另一种方法是:
foreach ( int number in numbers.Skip(1))
{
// process number
}
如果你想跳过第一项。
或者如果你想指定一个跳过的条件,使用. skipwhere。
最简单的方法如下:
//Skip First Iteration
foreach ( int number in numbers.Skip(1))
//Skip any other like 5th iteration
foreach ( int number in numbers.Skip(5))