C#实现泛型List分组输出元素的方法
作者:SharpL 发布时间:2022-03-10 07:33:15
标签:C#,泛型,List
本文实例讲述了C#实现泛型List分组输出元素的方法。分享给大家供大家参考,具体如下:
背景:在输出列表时,往往需要按照某一字段进行分组,比如在输出城市列表时,按照首字母进行分组,输出学生列表时,按照年级进行分组,然后再对分组的结果按照其他的字段进行排序。
如存在以下STU学生类,代码如下:
public class STU
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string City { get; set; }
}
存在如下学生列表:
List<STU> stuList = new List<STU>()
{
new STU{ID=1,Name="Lily",Age=18,City="NewYork"},
new STU{ID=2,Name="Lucy",Age=20,City="NewYork"},
new STU{ID=1,Name="LiLei",Age=18,City="BeiJIng"}
};
先按照城市进行分组,在对同一城市中的学生,按照年龄进行排序,分别输出,代码如下:
foreach (IGrouping<string,STU> group in stuList.GroupBy(c=>c.City))
{
Console.WriteLine("当前的城市为" + group.Key);
foreach (STU stu in group.OrderBy(a=>a.Age))
{
Console.Write(stu.Name+";");
}
Console.WriteLine();
}
注意,IGroupoing存在两个参数,第一个参数对应于分组字段的类型,也就是说如果按照城市进行分组,则第一个参数的类型应该是string,如果是按照年龄进行分组,参数类型就应该是int。第二个参数,对应于List元素的类型,本例中为STU。
希望本文所述对大家C#程序设计有所帮助。
来源:http://www.cnblogs.com/SharpL/p/4675645.html


猜你喜欢
- 本文实例为大家分享了JavaWeb实现注册用户名检测的具体代码,供大家参考,具体内容如下案例说明实现一个可以异步获取用户名是否被注册的小案例
- 1. strlen —— 求字符串长度1.1 strlen 的声明与用处strlen ,我们有一些英
- 本文实例讲述了c#图像截取的实现方法。分享给大家供大家参考。具体如下:图像截取的相关代码如下: public Form1()&nb
- 引入spring-cloud-starter-openfeign失败引入下面jar包总是报错jar包丢失<dependency>
- IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智
- Android M(6.0)API 23后加入了权限请求设置,APP需要使用某些权限需要主动申请。权限分为3类,一组是Normal权限,无需
- Spring之Bean的基本概念大家都知道Spring就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.对于Spring容
- 本文实例讲述了Android开发之滑动数值选择器NumberPicker用法。分享给大家供大家参考,具体如下:简介:NumberPicker
- 在app中图片的轮播显示可以说是非常常见的实现效果了,其实现原理不过是利用ViewPager,然后利用handler每隔一定的时间将View
- 一、电子邮件详解假设自己的电子邮件是me@163.com,对方的邮件是you@163.com我们编写好文件填写好对方文件,点击发送,这些电子
- 一个android文件的Uri地址一般如下: content://media/external/images/media/62026这是一张
- java调用外部程序的方法 在一个java应用中,可能会遇到这样的需求,就是需要调用一些外部的应用做一些处理,比如调用excel,
- 这篇效果和上一篇:https://www.jb51.net/article/100638.htm的效果是一样的,但是不再在OnTouchEv
- 本文实例讲述了C#通过html调用WinForm的方法。分享给大家供大家参考,具体如下:完整测试代码:Form1.cs:using Syst
- 一、概述RocketMQ主要提供了两种消费模式:集群消费以及广播消费。我们只需要在定义消费者的时候通过setMessageModel(Mes
- 前言此节假日为严格按照国家要求的双休和法定节假日并且包含节假日的补班信息,大家可根据自己的需求自定义处理哦。以下为Maven配置,是程序用到
- Android Studio打包.so库到apk中实例详解由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个
- 如何使用 Jetpack Compose 创建翻转卡片效果介绍在电子商务和银行应用程序中输入卡信息是很常见的情况。我认为让用户更轻松地处理这
- 前言本篇我们就来讲讲Fragment管理中的 Add() 方法Add()在我们动态的添加、管理Fragment中,Add属于最基础的方法了;
- 继承的概念及定义概念:继承机制是面向对象程序设计为了提高代码复用率的一种手段,它可以保持原类特性的基础上进行拓展,简单来说继承是类层次的复用