c# - 将函数返回的 IEnumerable<MovingAverage> 值分配给另一个对象

标签 c#

我从另一个函数调用此函数:

        private static IEnumerable<MovingAverage> SimpleMovingAverage(
        IEnumerable<IexTradingStock> queue, int period)
        .
        . (omitted code) 
        .
    {   return movingAverages;

这是调用 MovingAverage 的函数:

                MovingAverage SMA = new MovingAverage();
            SMA = SimpleMovingAverage(stocks, period);

我在这一行收到错误“SMA ​​= SimpleMovingAverage(stocks, period);”错误是“无法将类型‘System.Collections.Generic.IEnumerable’隐式转换为‘myBackEnd.Models.MovingAverage’,并且存在显式转换(是否缺少强制转换)

最佳答案

您正在尝试分配 IEnumerable<MovingAverage> ( MovingAverage 的集合)到单个 MovingAverage变量:这是不可能的。

您可以将 SMA 变量声明为 IEnumerable<MovingAverage>像这样:

IEnumerable<MovingAverage>  SMA = SimpleMovingAverage(stock, period); 

或者让编译器使用 var 猜测适当的类型:

var SMA = SimpleMovingAverage(stock, period); 

或者,如果您确实想返回单个元素,例如获取第一个元素,如下所示:

MovingAverage SMA = SimpleMovingAverage(stock, period).FirstOrDefault();

关于c# - 将函数返回的 IEnumerable<MovingAverage> 值分配给另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53248321/

相关文章:

c# - 添加/求和两个数组

c# - "Publish language"选项到底是什么?

c# - 通过公共(public)访问器访问本地私有(private)变量是一种错误的形式吗?

c# - 使用 Mediacomposition 的 MUX 音频和视频 UWP

c# - 如何使用 ASP.NET MVC 返回动态 CSS?

c# - 随机化一个 List<T>

c# - 在 Parallel.Invoke 中命名线程会导致异常 "This property has already been set and cannot be modified."

c# - Razor 中的共享辅助函数

c# - 我们应该根据哪些因素为 Windows 应用程序选择 Java 或 .Net 技术?

c# - asp mvc Controller 从 ajax 接收空值