我很高兴能在 VS2015 的 Watch/Immediate 窗口中测试 lambda 表达式评估,不幸的是我无法让这个功能正常工作。
我在几个 ASP.NET 项目(使用 .NET 4.6.1)上对此进行了测试,但是无论我在 Watch 窗口中键入什么表达式,消息仍然是相同的:Expression cannot contain lambda expressions
. 自从我们收到 VS2015 以来,我的同事很高兴在相同的项目中使用这个工具。
这是所有 lambda 中的一个:
private static void LinqTest()
{
List<int> list = new List<int> { 1, 2, 3, 4, 5, 6 };
int lambda = list.First<int>(p => p == 2);
}
此代码按预期返回 2,但在 Watch and Immediate 窗口中会list.First<int>(p => p == 2)
产生Expression cannot contain lambda expressions
错误。
我一直在互联网上寻找一些提示,但我从未见过任何先决条件,也没有看到此功能的限制,所以我希望有人能给我有用的提示,这将避免我完全重新安装 Visual Studio(如我目前看不到其他选择)。
我在 Windows 10 上运行 Visual Studio 2015 Professional,版本 4.6.01038。