-1

我很高兴能在 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。

4

1 回答 1

-1

将此列表的第一个值设置为 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);
}
于 2016-06-11T10:02:31.363 回答