计算每日 yield 的股票分析(股票)对象列表。 我认为必须有一个成对的解决方案来做到这一点:
for(int i = 0; i < sdata.Count; i++){
sdata[i].DailyReturn = (i > 0) ? (sdata[i-1].AdjClose/sdata[i].AdjClose) - 1
: 0.0;
}
最佳答案
LINQ 代表:“语言集成查询”。
不应该使用 LINQ,也几乎不能用于赋值,LINQ 不会更改给定的 IEnumerable 参数,而是创建一个新参数。
正如下面评论中所建议的,有一种方法可以使用 LINQ 创建新的 IEnumerable,但它会更慢,而且可读性也较差。
虽然 LINQ 很好,但重要的是知道何时不使用它。
只需使用旧的for循环即可。
关于c# - 将循环转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241352/