c# - 将循环转换为 LINQ

标签 c# linq list

计算每日 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/

相关文章:

c# - 带条件的 linq orderby

python - 如何过滤数据框中的列表列?

c# - 使用 ASP.NET Core Identity 3 的用户角色权限

LINQ 查询中的 C# lambda 表达式

c# - LINQ to SQL 特性

生成字符串列表及其子字符串的排列的算法

python - 重复字典列表将单个条目复制到另一个列表

c# - .Net Core Web API,如果角色或策略匹配则授权操作

c# - 在 DB 类型对象到业务类型对象之间实现转换器的最佳模式

c# - 从死锁更新