有没有一种方法可以在 Visual Studio 2010 中查看 LINQ 查询的结果?如果您将查询添加为监视表达式,它将显示“表达式不能包含 lambda 表达式”。
在一些测试代码中,我汇总了一些 child 的一堆指标的总和,并将总和与他们 parent 的相同指标的值进行比较(深层嵌套 if-else)。我所有的查询都在 if 语句中。如何在不将结果分配给局部变量的情况下查看这些值?分配使我的行数加倍,除了调试之外没有任何好处。有没有人有变通方法来在调试器中查看 LINQ 查询的结果?
最佳答案
您目前不能在 Visual Studio 的监视列表中使用 lambda 表达式。
您可以做几件事:
创建一个调用所需 lambda 的方法,然后将该方法放入 调用您的 watch 声明。
将所需的 lambda 表达式设置为一个变量,然后查看 该变量的内容。请注意,这将枚举 通过表达式,并可能导致副作用。
我想这是在 VS 的功能请求列表中,但 MSFT 尚未完成。希望这在此期间有所帮助。
编辑:
好消息!您现在可以在 Visual Studio 2017 中评估 lambda。Huzzah!
关于c# - 在 watch/debugger 中查看 LINQ 查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620819/