c# - 在 watch/debugger 中查看 LINQ 查询的结果

标签 c# .net visual-studio-2010 linq

有没有一种方法可以在 Visual Studio 2010 中查看 LINQ 查询的结果?如果您将查询添加为监视表达式,它将显示“表达式不能包含 lambda 表达式”。

在一些测试代码中,我汇总了一些 child 的一堆指标的总和,并将总和与他们 parent 的相同指标的值进行比较(深层嵌套 if-else)。我所有的查询都在 if 语句中。如何在不将结果分配给局部变量的情况下查看这些值?分配使我的行数加倍,除了调试之外没有任何好处。有没有人有变通方法来在调试器中查看 LINQ 查询的结果?

最佳答案

您目前不能在 Visual Studio 的监视列表中使用 lambda 表达式。

您可以做几件事:

  1. 创建一个调用所需 lambda 的方法,然后将该方法放入 调用您的 watch 声明。

  2. 将所需的 lambda 表达式设置为一个变量,然后查看 该变量的内容。请注意,这将枚举 通过表达式,并可能导致副作用。

我想这是在 VS 的功能请求列表中,但 MSFT 尚未完成。希望这在此期间有所帮助。

编辑:

好消息!您现在可以在 Visual Studio 2017 中评估 lambda。Huzzah!

关于c# - 在 watch/debugger 中查看 LINQ 查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18620819/

相关文章:

c# - 如何更新 ObservableCollection 的现有元素?

c# - 未创建身份表

.net - 如何在 Visual Studio 2010 中引用 WPF 工具包?

c++ - Visual Studio 2010 与 Visual Studio 2005 for C++

.net - 相当于 Dreamhost 的 Asp.net 托管(定价、功能和支持)

.net - Visual Studio 2010 不生成新项目

c# - 如何在sql server中存储和检索密码?

c# - 条件从使用 LEFT JOIN 的查询中排除行

c# - 在 Controller 中实现 System.Web.Caching.Cache 对象来缓存特定查询

c# - 在 C# 中写入和读取 excel 文件