为什么不能在Visual Studio 2013中的条件断点中使用lambda?

Ada*_*lin 1 c# debugging lambda conditional-breakpoint visual-studio

说我有以下方法:

public List<List<int>> DoSomething () {
    List<List<int>> result;

    //Do some things

    return result; //Would like to breakpoint here
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用条件断点,例如:

result.Any(i => i.Any(j => j < 0))
Run Code Online (Sandbox Code Playgroud)

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

dee*_*see 6

更新:该功能已在VS2015中实现!您现在可以在条件断点,监视和即时窗口中使用lambda表达式.


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

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

if (result.Any(i => i.Any(j => j < 0)))
    System.Diagnostics.Debugger.Break();
Run Code Online (Sandbox Code Playgroud)

不是很漂亮,当然你会想要在调试会话结束后删除它,但它可以完成工作.