c#实现泛型列表分组输出元素的方法

  

本文实例讲述了c#实现泛型列表分组输出元素的方法。分享给大家供大家参考,具体如下:

  

<强>背景:在输出列表时,往往需要按照某一字段进行分组,比如在输出城市列表时,按照首字母进行分组,输出学生列表时,按照年级进行分组,然后再对分组的结果按照其他的字段进行排序。

  

如存在以下斯图学生类,代码如下:

        公开课斯图   {   公共int ID{得到;设置;}   公共字符串名称{;设置;}   公共int年龄{得到;设置;}   城市公共字符串{得到;设置;}   }      之前      

存在如下学生列表:

        ListstuList=new List ()   {   新斯图{ID=1,名称=袄蚶颉?18岁城市=芭υ肌眪,   新斯图{ID=2,名称=奥段鳌?=20岁城市=芭υ肌眪,   新斯图{ID=1、Name="李雷=18岁城市=氨本眪   };      之前      

先按照城市进行分组,在对同一城市中的学生,按照年龄进行排序,分别输出,代码如下:

        foreach (IGrouping<字符串,STU>在stuList.GroupBy集团(c=祝辞c.City))   {   控制台。WriteLine(“当前的城市为“+ group.Key);   在group.OrderBy foreach(斯图斯图(a=祝辞a.Age))   {   Console.Write (stu.Name +”;“);   }   Console.WriteLine ();   }      之前      

<强>注意强,IGroupoing存在两个参数,第一个参数对应于分组字段的类型,也就是说如果按照城市进行分组,则第一个参数的类型应该是字符串,如果是按照年龄进行分组,参数类型就应该是int。第二个参数,对应于列表元素的类型,本例中为斯图。

  

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《WinForm控件用法总结》,《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结》

  

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

c#实现泛型列表分组输出元素的方法