我想使用 LINQ 简化 C# 中 List 的生成。我的目标是使用另一个 List 的值使用操作填充新 List。我愿意使用第三方库,如Deedle或MathNet,如果它们可以重现与我当前解决方案类似的性能。
在 Matlab 中实现目标的等效方法是使用简单的矩阵运算和点运算,如以下代码所示:dailyRetList = (dailyCloseList(2:end) - dailyCloseList(1:end-1))./dailyCloseList(1:end-1)
这将创建一个新数组,迭代并为每个元素从中减去,然后将结果除以,最后将值推送到新创建的数组。dailyCloseListdailyCloseList[i-1]dailyCloseList[i]dailyCloseList[i-1]
我目前解决这个问题的解决方案是:
var dailyCloseList = new List<double>{11.8d, 11.7d, 13d, 12.6d, 15d};
var dailyRetList = new List<double>();
for (var i = 1; i < dailyCloseList.Count; i++)
{
dailyRetList.Add((dailyCloseList[i] - dailyCloseList[i-1])/dailyCloseList[i-1]);
}
尚方宝剑之说
慕姐8265434
蓝山帝景
相关分类