C#實(shí)現(xiàn)泛型List分組輸出元素的方法
本文實(shí)例講述了C#實(shí)現(xiàn)泛型List分組輸出元素的方法。分享給大家供大家參考,具體如下:
背景:在輸出列表時(shí),往往需要按照某一字段進(jìn)行分組,比如在輸出城市列表時(shí),按照首字母進(jìn)行分組,輸出學(xué)生列表時(shí),按照年級(jí)進(jìn)行分組,然后再對(duì)分組的結(jié)果按照其他的字段進(jìn)行排序。
如存在以下STU學(xué)生類,代碼如下:
public class STU { public int ID { get; set; } public string Name { get; set; } public int Age { get; set; } public string City { get; set; } }
存在如下學(xué)生列表:
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"} };
先按照城市進(jìn)行分組,在對(duì)同一城市中的學(xué)生,按照年齡進(jìn)行排序,分別輸出,代碼如下:
foreach (IGrouping<string,STU> group in stuList.GroupBy(c=>c.City)) { Console.WriteLine("當(dāng)前的城市為" + group.Key); foreach (STU stu in group.OrderBy(a=>a.Age)) { Console.Write(stu.Name+";"); } Console.WriteLine(); }
注意,IGroupoing存在兩個(gè)參數(shù),第一個(gè)參數(shù)對(duì)應(yīng)于分組字段的類型,也就是說如果按照城市進(jìn)行分組,則第一個(gè)參數(shù)的類型應(yīng)該是string,如果是按照年齡進(jìn)行分組,參數(shù)類型就應(yīng)該是int。第二個(gè)參數(shù),對(duì)應(yīng)于List元素的類型,本例中為STU。
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#基礎(chǔ)知識(shí)之this關(guān)鍵字介紹
本文主要介紹this關(guān)鍵字的幾種使用方法,this可以代表當(dāng)前實(shí)例,可以調(diào)用其他構(gòu)造函數(shù),還可以用來(lái)構(gòu)建索引器,這里都有一一舉例說明。2016-04-04C# 顯示、隱藏窗口對(duì)應(yīng)的任務(wù)欄
WPF中全屏窗口,會(huì)自動(dòng)隱藏任務(wù)欄,那非全屏窗口如何隱藏任務(wù)欄?甚至有沒有一種場(chǎng)景,隱藏任務(wù)后自定義一套系統(tǒng)任務(wù)欄來(lái)顯示?這篇文章主要介紹了C# 顯示、隱藏窗口對(duì)應(yīng)的任務(wù)欄,需要的朋友可以參考下2021-10-10DevExpress實(shí)現(xiàn)自定義TreeListNode的Tooltip的方法
這篇文章主要介紹了DevExpress實(shí)現(xiàn)自定義TreeListNode的Tooltip的方法,需要的朋友可以參考下2014-08-08winform c#中子窗體關(guān)閉刷新父窗體的實(shí)例
下面小編就為大家?guī)?lái)一篇winform c#中子窗體關(guān)閉刷新父窗體的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-02-02C#遞歸遍歷窗體所有textbox控件并設(shè)置textbox事件的方法
這篇文章主要介紹了C#遞歸遍歷窗體所有textbox控件并設(shè)置textbox事件的方法,包括針對(duì)textbox控件的遞歸遍歷技巧與事件方法的設(shè)置技巧,需要的朋友可以參考下2014-12-12