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

        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而不是单个对象。声明此函数后,将其返回类型设置为IEnumerable,但是在return语句中时,您将返回MovingAverage的单个对象。返回的对象应该与您声明的返回类型相同。其次,当您从SimpleMovingAverage(stocks,period)获取列表时;并在MovingAverage SMA中设置列表= new MovingAverage();是错的。它应该是。

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

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

10-17 01:35