在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
}
当前回答
另一种方法是在循环执行之前使用LINQ进行过滤:
foreach ( int number in numbers.Where(n => n >= 0) )
{
// 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))
foreach ( int number in numbers )
{
if ( number < 0 )
{
continue;
}
//otherwise process number
}
你也可以翻转你的if测试:
foreach ( int number in numbers )
{
if ( number >= 0 )
{
//process number
}
}
另一种方法是在循环执行之前使用LINQ进行过滤:
foreach ( int number in numbers.Where(n => n >= 0) )
{
// process number
}