虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C#编程 > C#实现泛型List分组输出元素的方法

C#实现泛型List分组输出元素的方法
类别:C#编程   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了C 实现泛型List分组输出元素的方法,涉及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#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结

希望本文所述对大家C#程序设计有所帮助。

您可能感兴趣的文章:

  • 关于C#泛型列表List<T>的基本用法总结
  • C#读取数据库返回泛型集合详解(DataSetToList)
  • C#中数组Array,ArrayList,泛型List详细对比
  • C#控制台基础 List泛型集合与对应的数组相互转换实现代码
  • C# List<T>的用法小结
  • c#对list排序示例
  • c#将list类型转换成DataTable方法示例
  • C#中List和数组之间转换的方法
相关热词搜索: C 泛型 List 分组输出