C#實(shí)現(xiàn)泛型List分組輸出元素的方法
本文實(shí)例講述了C#實(shí)現(xiàn)泛型List分組輸出元素的方法。分享給大家供大家參考,具體如下:
背景:在輸出列表時,往往需要按照某一字段進(jìn)行分組,比如在輸出城市列表時,按照首字母進(jìn)行分組,輸出學(xué)生列表時,按照年級進(jìn)行分組,然后再對分組的結(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)行分組,在對同一城市中的學(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存在兩個參數(shù),第一個參數(shù)對應(yīng)于分組字段的類型,也就是說如果按照城市進(jìn)行分組,則第一個參數(shù)的類型應(yīng)該是string,如果是按照年齡進(jìn)行分組,參數(shù)類型就應(yīng)該是int。第二個參數(shù),對應(yīng)于List元素的類型,本例中為STU。
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》及《C#程序設(shè)計之線程使用技巧總結(jié)》
希望本文所述對大家C#程序設(shè)計有所幫助。
相關(guān)文章
C#通過HttpWebRequest發(fā)送帶有JSON Body的POST請求實(shí)現(xiàn)
本文主要介紹了C#通過HttpWebRequest發(fā)送帶有JSON Body的POST請求實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
C# Winform下載文件并顯示進(jìn)度條的實(shí)現(xiàn)代碼
本來是要研究怎樣判斷下載完成,結(jié)果找到這個方法,可以在這個方法完成之后提示下載完成,需要的朋友可以參考下2014-07-07
字符串和十六進(jìn)制之間的轉(zhuǎn)換方法實(shí)例
這篇文章介紹了字符串和十六進(jìn)制之間的轉(zhuǎn)換方法實(shí)例,有需要的朋友可以參考一下2013-11-11
c# 兩個數(shù)組比較,將重復(fù)部分去掉,返回不重復(fù)部分的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猚# 兩個數(shù)組比較,將重復(fù)部分去掉,返回不重復(fù)部分的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
C#實(shí)現(xiàn)炫酷啟動圖-動態(tài)進(jìn)度條效果
這篇文章主要介紹了基于C#實(shí)現(xiàn)炫酷啟動圖-動態(tài)進(jìn)度條 效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05

