我从另一个函数调用此函数:
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/