一尘不染

Visual Studio调试“快速监视”工具和lambda表达式

c#

为什么在“快速监视”窗口中调试时不能使用lambda表达式?

UPD:另请参见

http://blogs.msdn.com/b/jaredpar/archive/2009/08/26/why-no-linq-in-debugger-
windows.aspx

http://blogs.msdn.com/b/jaredpar/archive/2010/06/02/why-is-linq-absent-from-
debugger-windows-
part-2.aspx


阅读 379

收藏
2020-05-19

共1个答案

一尘不染

Lambda表达式就像匿名方法一样,实际上是非常复杂的野兽。即使我们排除Expression(.NET 3.5),仍然留下了 很多
复杂性,尤其是捕获的变量,这些变量从根本上重新构造了使用它们的代码(您认为变量成为编译器生成的类中的字段) ,有一点烟雾和镜子。

因此,您可以无所事事地使用它们,我一点也不感到惊讶-有 很多 支持这种魔术的编译器工作(以及幕后的类型生成)。

2020-05-19