Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 分配一个函数';s返回的IEnumerable<;移动平均值>;对另一个对象的值_C# - Fatal编程技术网

C# 分配一个函数';s返回的IEnumerable<;移动平均值>;对另一个对象的值

C# 分配一个函数';s返回的IEnumerable<;移动平均值>;对另一个对象的值,c#,C#,我从另一个函数调用此函数: private static IEnumerable<MovingAverage> SimpleMovingAverage( IEnumerable<IexTradingStock> queue, int period) . . (omitted code) . { return movingAverages; 我在这一行“SMA=SimpleMov

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

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

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

您的函数返回类型应该是IEnumerable而不是单个对象。当您声明此函数时,您将其返回类型设置为IEnumerable,但当您在return语句中返回MovingAverage的单个对象时。返回的对象应该与您声明的返回类型相同。其次,当您获取li时SimpleMovingAverage(股票,期间)中的st;并且在MovingAverage SMA=new MovingAverage()中设置列表是错误的。应该是

IEnumerable<MovingAverage>  SMA = SimpleMovingAverage(stocks, period);
IEnumerable SMA=SimpleMovingAverage(股票,期间);

您试图将一个
IEnumerable
(一组
MovingAverage
)分配给一个
MovingAverage
变量:这是不可能的

您可以将SMA变量声明为
IEnumerable
,如下所示:

IEnumerable<MovingAverage>  SMA = SimpleMovingAverage(stock, period); 
MovingAverage SMA = SimpleMovingAverage(stock, period).FirstOrDefault();
或者,如果确实要返回单个元素,例如,获取第一个元素,如下所示:

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

SimpleMovingAverage函数的返回类型是什么?SMA的类型是什么?错误准确地告诉您出了什么问题。作为一个补充点,如果您要在下一行中更新它,将SMA设置为任何新的值都没有意义。为什么
SMA
的类型是
MovingAverage
SimpleMovingAverage
返回
MovingAverage
的“集合”(0或更多)?如果没有意义,就好像您试图将一盒鸡蛋分配给期望单个鸡蛋的变量。