1
var newList = data.GroupBy(x => new { x.Symbol })
.Select
(
x =>
{
var subList = x.OrderBy(y => y.Date).ToList();
return subList.Select((y, idx) => new
{
Symbol = y.Symbol,
Close = y.Close,
Date = y.Date,
/*p = (idx < 1) ? null : subList.Skip(idx - 1)
.Take(2).Select(o => o.Close).ToList()*/,
Vol = (idx < 1) ? 0 : new DescriptiveStatistics
(subList.Skip(idx - 1).Take(2).Select(o => (double)o.Close/(double)
subList.ElementAt(idx - 1).Close).ToList()).StandardDeviation,
});
}
)
.SelectMany(x => x)
.ToList();
我想创建一个变量p = (idx < 1) ? null : subList.Skip(idx - 1).Take(2).Select(o => o.Close).ToList()
具有相同索引的Vol
idx
但return
只是一个临时变量不会出现(但必须使用同步idx
为Vol
)。那么在哪里写下这个p
或者如何改变语法C#LINQ创建具有动态索引临时变量
因此,这可以保证'p'和'Vol'共享相同的'idx'吗?为什么我们不能在'return subList.Select((y,idx)=> {'? – user6703592
)中返回第一个'return'?第一个返回语句是返回一个针对你的'subList'变量的查询,其中''p'变量是基于'subList'中每个项目的'idx'而不是数据 – Nico
我怎样才能在linq中搜索有关这样的双参数'(y,idx)'的函数的相关信息,因为当我使用'orderby(y,idx)=>'我真的想知道相关知识 – user6703592