C# Lambda 分组排序问题(先对数据进行时间倒序排列,然后再按照某字符分组,在每个分组内再按照某数字或字符正序排列)

问题:先对数据进行时间倒序排列,然后再按照某字符分组,在每个分组内再按照某数字或字符正序排列

解答:

var data=list.OrderByDescending(i => i.Date).ToList();
var gData = data.GroupBy(g => g.code).Select(l => l.OrderBy(i => i.Step)); var invData = new List<IndexVM>(); foreach(var m in gData) { invData.AddRange(m); }

这里有三个注意点:

1、先对数据进行倒序排列,然后一定要ToList(),让序列形成新的内存数据固定下来;

2、然后对上面的数据进行分组,并对分组内序列按照某字段进行正序排列;

3、最后再把每个已经正序排列的数据进行重新组合成一个新序列,在某些地方这一步很重要。

posted @ 2023-11-03 11:22  James·wang  阅读(130)  评论(0编辑  收藏  举报