我很高兴在VS2015的监视/即时窗口中测试lambda表达式评估,不幸的是我无法让此功能正常工作。
我正在几个 ASP.NET 项目(使用 .NET 4.6.1)上对此进行测试,但无论我在监视窗口中键入什么表达式,消息仍然相同: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,但在"监视"和"即时"窗口中list.First<int>(p => p == 2)
产生Expression cannot contain lambda expressions
错误。
我一直在互联网上寻找一些技巧,但我从未见过任何先决条件,也没有看到此功能的限制,所以我希望有人能给我有用的提示,这将避免我完全重新安装 Visual Studio(因为我目前没有看到其他选择)。
我在Windows 10上运行Visual Studio 2015 Professional,版本4.6.01038。
设置为 lambda 此列表的第一个值等于 2
private static void LinqTest()
{
List<int> list = new List<int> { 1, 2, 3, 4, 5, 6 };
int lambda = list.First(p => p == 2);
}