为什么在 Visual Studio 2013 中的条件断点中不能有一个 lambda?



假设我有以下方法:

public List<List<int>> DoSomething () {
    List<List<int>> result;
    //Do some things
    return result; //Would like to breakpoint here
}

我尝试有一个条件断点,例如:

result.Any(i => i.Any(j => j < 0))

我收到一个错误,说不能在条件断点中使用lambda表达式。为什么?

UPDATE:该功能已在VS2015中实现!现在,您可以在条件断点、监视和立即窗口中使用lambda表达式。


这个问题的唯一答案是一个无聊的"因为他们没有实现这个功能"。我想这个功能的成本与收益根本不值得开发时间。

条件断点的替代方案是添加以下代码

if (result.Any(i => i.Any(j => j < 0)))
    System.Diagnostics.Debugger.Break();

不是很漂亮,当然你会想在调试会话结束后删除它,但它完成了任务。

最新更新