gpt4 book ai didi

c# - 对于每个(): Why can't use break/continue inside

转载 作者:可可西里 更新时间:2023-11-01 03:11:39 26 4
gpt4 key购买 nike

既然 ForEach() 方法循环遍历所有列表成员,为什么我不能使用 break/continue 子句,而我可以在普通的 foreach 循环中使用它们

lstTemp.ForEach(i=>
{
if (i == 3)
break;
//do sth
}
);

错误:

"No enclosing loop out of which tobreak or continue"

最佳答案

因为 ForEach 是一种方法而不是常规的 foreach 循环。 ForEach 方法用于简单任务,如果您需要中断或继续,只需使用常规 foreach 循环遍历 lstTemp

通常,ForEach是这样实现的:

public static ForEach<T>(this IEnumerable<T> input, Action<T> action)
{
foreach(var i in input)
action(i);
}

由于这是一个普通的方法调用,action 对封闭的 foreach 一无所知,因此您无法中断。

关于c# - 对于每个(): Why can't use break/continue inside,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4439092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com