gpt4 book ai didi

c# - Linq 扩展方法在 Visual Studio 2015 立即窗口中不可用

转载 作者:太空狗 更新时间:2023-10-29 23:49:47 26 4
gpt4 key购买 nike

error CS1061: 'ICollection<>' does not contain a definition for 'SelectMany' and no extension method 'SelectMany' accepting a first argument of type 'ICollection<>' could be found (are you missing a using directive or an assembly reference?)

Visual Studio 2015 支持在即时窗口中以 Debug模式评估 linq lambda 表达式。我已经使用控制台应用程序对其进行了测试,其中我获取 Process.GetProcesses(),转到即时窗口并开始编写 .Select.Where在上面。它工作正常。

但是,我无法在我的项目中执行相同的操作。

我的断点在这一行:

return Dimensions.Values.SelectMany(dimension => dimension.Attributes)
.FirstOrDefault(dimensionAttribute => key.Equals(dimensionAttribute.Key));

按 F10 操作。但是,当我尝试在即时窗口中部分运行相同的表达式时,即 Dimensions.Values.SelectMany(dimension => dimension.Attributes),我收到上述错误。

我是否试图以不正确的方式对此进行评估?我错过了什么?

最佳答案

我无法告诉您发生这种情况的原因(我对立即窗口有类似的问题),但我发现您可以通过静态类访问来调用扩展方法。在你的情况下是:

Enumerable.FirstOrDefault(Enumerable.SelectMany(Dimensions.Values, dimension => dimension.Attributes),dimensionAttribute => key.Equals(dimensionAttribute.Key));

关于c# - Linq 扩展方法在 Visual Studio 2015 立即窗口中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40021415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com