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 @   James·wang  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示