为什么我不能break;
在循环中使用语句while
,而在匿名方法中?
当我收到此错误时,我正在处理一段代码(如下):“ Control cannot leave the body of an anonymous method or lambda expression
”。
谢天谢地,我可以通过使用来解决问题return;
,但我仍然想知道为什么我不能使用break;
. 对我来说,这两个语句之间的主要return;
区别在于退出一个方法,并break;
退出最嵌套的循环。
我的代码,
while (someCondition)
{
System.Threading.Thread.Sleep(500);
Application.Current.Dispatcher.Invoke(new Action(() =>
{
if (someOtherCondition)
{
// Do stuff...
}
else
{
if (anotherCondition)
{
break;
}
// Do something else...
}
}));
}