C#中巧用Lambda进行数据的筛选查询等处理
程序员文章站
2023-11-18 13:14:10
场景 有一个Record对象的list,如果要根据其某个属性CycleIndex进行分组,类似于sql的group by分组查询。 如果要在这个这个list中查找出符合某种条件的数据,类似于sql的where条件查询。 注: 博客主页:https://blog.csdn.net/badao_lium ......
场景
有一个record对象的list,如果要根据其某个属性cycleindex进行分组,类似于sql的group by分组查询。
如果要在这个这个list中查找出符合某种条件的数据,类似于sql的where条件查询。
注:
博客主页:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
如下要对此list进行分组
对其分组后,会形成多组数据,每组又是多个实体对象record,每个record又有多个属性。
ienumerable<igrouping<int, entity.record>> groups = recorddatalist.groupby(p => p.cycleindex);
那么怎样获取每一组的数据,该用何种类型去接收
foreach(var group in groups) { }
这样每一个group就是分完组后的多个record。
接下来再进行遍历获取
foreach(var group in groups) { foreach(entity.record record in group) { int a = record.cycleindex; double b = record.ecurrent; } }
如果要在list中获取某个或某些符合条件的数据
ienumerable<entity.record> record = recorddatalist.where(p => p.cycleindex == int.parse(node.id));
同理其他查询筛选方式同理