Linq嵌套分组实例
来源:互联网 发布:php开源类库 编辑:程序博客网 时间:2024/06/04 18:54
1 新建控制台应用程序GroupByExp,准备示例数据。
public class ExampleModel{ public int C1 { get; set; }//列1 public string C2 { get; set; }//列2}List<ExampleModel> listExampleModel = new List<ExampleModel>();listExampleModel.Add(new ExampleModel() { C1 = 1, C2 = "b"});listExampleModel.Add(new ExampleModel() { C1 = 1, C2 = "a"});listExampleModel.Add(new ExampleModel() { C1 = 2, C2 = "a"});listExampleModel.Add(new ExampleModel() { C1 = 2, C2 = "a"});listExampleModel.Add(new ExampleModel() { C1 = 3, C2 = "c"});listExampleModel.Add(new ExampleModel() { C1 = 4, C2 = "a"});
2 嵌套分组实现
通过Linq实现嵌套分组,分组包含两步:
(1)按照C1进行分组(得到下图左半部效果)
(2)再按照C2进行分组(得到下图右半部效果)
下面给出嵌套分组及结果输出的代码。
var exampleModelGroup = listExampleModel.GroupBy(it => it.C1).GroupBy(it => it.First().C2);List<ExampleModel> listResult = new List<ExampleModel>();foreach (var group1 in exampleModelGroup){ foreach (var group2 in group1) { listResult.AddRange(group2.ToList()); }}foreach(var exampleModel in listResult){ Console.WriteLine("{ C1 = " + exampleModel.C1 + ", C2 = " + exampleModel.C2 + " }");}
执行结果如下图所示。
3 分析说明
分组及结果输出的详细过程如下图所示。
嵌套分组操作中,我们要想获取最终分组中的成员信息的话,可以按照本文所述方法完成,本质上就是遍历。
0 0
- Linq嵌套分组实例
- LINQ 分组
- 编程技巧:使用LINQ如何通过多次调用GroupBy实现分组嵌套
- linq 分组统计
- linq分组拼接字符串
- linq分组统计
- datatable 分组 linq
- LINQ 分组 总结
- Linq成绩分组
- LINQ分组查询统计
- C#Linq分组汇总
- .NET LINQ 数据分组
- LINQ分组查询统计
- 使用linq分组经验总结
- 巧用Linq分组
- LINQ 合并分组
- linq实例
- linq实例
- 我存在
- 谈电动汽车技术学习
- JJ赚金币详细说明
- java多线程
- 携程编程大赛预赛第二场
- Linq嵌套分组实例
- 阿里巴巴 p1-p13
- 移动计算为王——我眼中的下一代计算机产业
- 星际译王 stardict
- Android自定义可拖动组件+animation
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(4)for == while ?
- Win8求变--微软迎来迟到的革命
- copy的使用
- 未来:一餐肯德基的钱就能买颗钻石