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

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

时间:2023-11-28 11:32:26浏览次数:23  
标签:字符 排列 正序 先对 分组 var 倒序

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

解答:

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


标签:字符,排列,正序,先对,分组,var,倒序
From: https://blog.51cto.com/u_176133/8598152

相关文章

  • SQLServer字符串查找(判断字符串是否含中文,数字或字母),并把是否含中文作为条件来执行
    转载自:SQLServer字符串查找(判断字符串是否含中文,数字或字母),并把是否含中文作为条件来执行一些操作-亟待!-博客园(cnblogs.com)从sqlserver中提取数据如何截取字符1、LOCATE(substr,str):返回子串substr在字符串str中第一次出现的位置,如果字符substr在字符串str中不......
  • C++ 查找文本文件中字符串是否存在
    简介查找文本文件中字符串是否存在代码#include<iostream>#include<fstream>#include<vector>#include<string>usingnamespacestd;boolSearchString(stringfilePath,stringstrF){vector<string>lines;stringline;ifst......
  • C++ 字符串编码转换封装函数,UTF-8编码与本地编码互转
    简介字符串编码转换封装函数,UTF-8编码与本地编码互转。中文乱码的解决方法有时候我们会遇到乱码的字符串,比如:古文码可能是用GBK方式读取UTF-8编码的中文导致的,用下面的Utf8ToLocal(stringstr)函数转换一下就可以了。口字码可能是因为以UTF-8的方式读取GBK编码的中文导致的,用下面......
  • C++ 33.C++中的字符串类-狄泰软件学院
    C语言字符串的历史C语言不支持真正意义上的字符串C语言用字符数组和一组函数实现字符串操作C语言不支持自定义类型,因此无法创建字符串类型当年C语言主要用于开发UNIX操作系统,处理字符串的情况少,所以在当时的背景下没有让C语言中内置一个字符串类型。后来C语言越用越广泛,没办法只能......
  • 数据的处理——字符串的拼接
    #1.直接用运算符拼接s1='holle's2='world'print(s1+s2)print('-'*20)#2.用字符串join()方法print(''.join([s1,s2]))#holleworld,这里是用空字符拼接,拼接的内容可以随意定义例如print('*'.join([s1,s2]))#输出结果为:holle*worldprint('-'*20)#3......
  • 字符串格式化站位 ——format
    s='helloworld'print('{0:*<20}'.format(s))#0是format的索引并且format的元素只有一个,输出字符串左对齐,右边补充以20为单位的*#结果为:helloworld**********print('{0:*>20}'.format(s))#结果为:**********helloworldprint('{0:*^20}'.format(s))#输出结果为:****......
  • 字符串的解码和编码
    #str表示字符串类型转为bytes类型(二进制类型)s='伟大的中国梦'scode=s.encode(errors='replace')#默认是utf-8,因为utf-8每个中文占3个字节print(scode)#所以输出18位字节#输出结果为:\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xe4\xb8\xad\xe5\x9b\xbd\xe6\xa2\xa6#用_gbk方式s......
  • Nodepad++格式化XML和JSON字符串
    (一)格式化XML1、安装XMLTools在notepad++中点击菜单栏【插件】-【插件管理】。在插件管理界面选择【XMLTools】,点击【安装】。2、打开XML文件在notepad++中点击菜单栏【文件】-【打开】。3、选择格式化XML全选XML字符串,点击【插件】-【XMLTools】-【Prettyprint(XMLonl......
  • Mysql Varchar(n) 占用字符、字节数浅析
    一、概述varchar(n)括号中的n代表最大可容纳的字符的个数,注意,并不是代表字节的个数一个中文和一个英文都是一个字符,只不过mysql的编码格式不同时,一个英文和一个中文所占用的存储字节数不同,一个英文字符占用的字节数是1,中文字符和英文字符不同,以下是常用的编码格式......
  • 为什么 IDEA 建议去掉 StringBuilder,而要使用 “+” 拼接字符串?
    作者:京东零售姜波来源:京东云开发者社区各位小伙伴在字符串拼接时应该都见过下面这种提示:内容翻译:报告StringBuffer、StringBuilder或StringJoiner的任何用法,这些用法可以用单个java.lang.String串联来替换。使用字符串串联可以使代码更短、更简单。只有当得到的串联至少与原......