C#實現(xiàn)泛型List分組輸出元素的方法
本文實例講述了C#實現(xiàn)泛型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存在兩個參數(shù),第一個參數(shù)對應于分組字段的類型,也就是說如果按照城市進行分組,則第一個參數(shù)的類型應該是string,如果是按照年齡進行分組,參數(shù)類型就應該是int。第二個參數(shù),對應于List元素的類型,本例中為STU。
更多關于C#相關內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結》、《C#數(shù)據(jù)結構與算法教程》、《C#面向?qū)ο蟪绦蛟O計入門教程》及《C#程序設計之線程使用技巧總結》
希望本文所述對大家C#程序設計有所幫助。
相關文章
- 其實/FileShare就是控制文件流的“訪問權限”,當然,這僅僅是入門的文件操作,自己做了筆記,也希望能給大家?guī)韼椭?/div> 2014-01-01
DevExpress實現(xiàn)自定義TreeListNode的Tooltip的方法
這篇文章主要介紹了DevExpress實現(xiàn)自定義TreeListNode的Tooltip的方法,需要的朋友可以參考下2014-08-08C#遞歸遍歷窗體所有textbox控件并設置textbox事件的方法
這篇文章主要介紹了C#遞歸遍歷窗體所有textbox控件并設置textbox事件的方法,包括針對textbox控件的遞歸遍歷技巧與事件方法的設置技巧,需要的朋友可以參考下2014-12-12最新評論