0
点赞
收藏
分享

微信扫一扫

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

weipeng2k 2023-11-28 阅读 131

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

解答:

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、最后再把每个已经正序排列的数据进行重新组合成一个新序列,在某些地方这一步很重要。


举报
0 条评论