为什么“lambda 表达式的计算在调试器中无效”?
我有一个看似无害的代码片段,我将其输入到 Visual Studio 2008 立即窗口中。
? results.Join(lstDocs, Function(docID) docID)
Evaluation of lambda expressions is not valid in the debugger.
正如消息所述,不可能在调试器中调用 lambda 表达式。
为什么不允许?
I have a seemingly innocent code snippet, which I typed into Visual Studio 2008 Immediate Window.
? results.Join(lstDocs, Function(docID) docID)
Evaluation of lambda expressions is not valid in the debugger.
As the message says, it's not possible to call a lambda expression in the debugger.
Why is it not allowed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这里:为什么是调试器窗口中缺少 LINQ?
以及上一个问题: VS调试“快速观察”工具和 lambda 表达式
简而言之,复杂性。
Here: Why is LINQ absent from debugger windows?
And this previous question: VS debugging “quick watch” tool and lambda expressions
In short, complexity.
http://msdn.microsoft.com/en-us/library/bb763138。 aspx
这在设计上是不可能的。 Lambda 表达式需要在立即窗口中动态生成代码。调试器和/或评估器无法处理此问题。如果你真的想知道为什么,请询问 VS 的开发人员。也许这是某个即将推出的功能。 Lambda 表达式是一个相当新的功能
http://msdn.microsoft.com/en-us/library/bb763138.aspx
It's impossible by design. Lambda expressions need to generate code on the fly in the immediate window. The debugger and/or evaluater cannot handle this. If you really want to know why, ask the developers of VS. Maybe this is an upcoming feature somewhen. Lambda expressions is a bearly new feature