gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 21:31:29 25 4
gpt4 key购买 nike

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

        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/

25 4 0