【发布时间】:2012-01-10 03:06:03
【问题描述】:
有没有等价于 ForEach 方法中的 continue 语句?
List<string> lst = GetIdList();
lst.ForEach(id =>
{
try
{
var article = GetArticle(id);
if (article.author.contains("Twain"))
{
//want to jump out of the foreach now
//continue; **************this is what i want to do*******
}
//other code follows
}
编辑: 感谢所有伟大的答案。感谢您澄清 .foreach 不是扩展方法。我使用这种结构来保持编码风格的一致性(不同的程序员在同一个类中使用另一种类似的方法)......感谢提供为什么要避免使用 .foreach 的链接。
【问题讨论】:
-
如果你想用foraech那么糟糕,用普通的foreach代替
-
冒着过分强调的风险,请请请使用标准的foreach循环。
-
重新检查“继续”一词。在循环中,“继续”的意思是“停止处理这个项目并转到下一个项目”。完全退出处理的关键字是“break”
标签: c# .net linq lambda anonymous-methods