C#中對泛型List進行分組輸出元素

背景:在輸出列表時,往往需要按照某一字段進行分組,比如在輸出城市列表時,按照首字母進行分組,輸出學生列表時,按照年級進行分組,然后再對分組的結果按照其他的字段進行排序。

如存在以下STU學生類,代碼如下:

1     public class STU
2     {
3         public int ID { get; set; }
4         public string Name { get; set; }
5         public int Age { get; set; }
6         public string City { get; set; }
7     }

存在如下學生列表:

1             List<STU> stuList = new List<STU>()
2             {
3                 new STU{ID=1,Name="Lily",Age=18,City="NewYork"},
4                 new STU{ID=2,Name="Lucy",Age=20,City="NewYork"},
5                 new STU{ID=1,Name="LiLei",Age=18,City="BeiJIng"}
6             };

先按照城市進行分組,在對同一城市中的學生,按照年齡進行排序,分別輸出,代碼如下:

1             foreach (IGrouping<string,STU> group in stuList.GroupBy(c=>c.City))
2             {
3                 Console.WriteLine("當前的城市為" + group.Key);
4                 foreach (STU stu in group.OrderBy(a=>a.Age))
5                 {
6                     Console.Write(stu.Name+";");
7                 }
8                 Console.WriteLine();
9             }

?  注意,IGroupoing存在兩個參數,第一個參數對應于分組字段的類型,也就是說如果按照城市進行分組,則第一個參數的類型應該是string,如果是按照年齡進行分組,參數類型就應該是int。第二個參數,對應于List元素的類型,本例中為STU。

轉載于:https://www.cnblogs.com/SharpL/p/4675645.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256969.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256969.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256969.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分頁3

http://www.cnblogs.com/ChrisLee2011/p/4288194.html 頁面的HTML部分如下&#xff1a; < div class "tableContainer"> < input id "currentPage" type "hidden" value " ViewData[ "currentPage"] "/> < i…

最優化課堂筆記01: 第一章 最優化的基本概念

第一章 最優化的基本概念 1.最優化求解的數學模型建立 2.例題&#xff08;考試第一大題&#xff1a;數學模型建立&#xff09; 解析&#xff1a;優化變量、目標函數&#xff08;一般取最小化&#xff09;、約束條件 注意&#xff1a; 1&#xff09;約束條件一般形式為&#…

面向對象中構造函數的小練習

//寫一個Ticket類&#xff0c;有一個距離屬性&#xff08;本屬性只讀&#xff0c;在構造方法中賦值&#xff09;&#xff0c;不能為負數//有一個價格屬性&#xff0c;價格屬性為只讀&#xff0c;并且根據距離distance計算價格Price(1元/公里)//0--100公里 票價不打折//101-20…

EIGRP非等價負載均衡

1、等價負載均衡 當到達目的地有多條路徑時&#xff0c;而有多條路徑的metric值一樣&#xff0c;這時就可以做等價負載均衡&#xff0c;讓數據包均衡轉發&#xff0c;不過要看該路由器的轉發方式&#xff0c;如果是快速轉發方式&#xff0c;這種方式無用&#xff08;本地產生的…

ubuntu100%快速安裝搜狗輸入法

1、進入搜狗官方網站&#xff0c;下載最新版本的for ubuntu輸入法deb安裝包 2、下載完成以后&#xff0c;進入下載好的文件目錄&#xff0c;在空白處點擊鼠標右鍵&#xff0c;打開終端 在終端窗口輸入如下的指令開始安裝搜狗拼音輸入法。 #sudo dpkg -i sogoupinyin_2.2.0.01…

提升權限終極技巧

文章作者&#xff1a;WekweN本篇文章結合了許多高手提升權限的技巧和自己的一些想法 當我們取得一個webshell時候&#xff0c;下一部要做的就是提升權限 個人總結如下&#xff1a; 1: C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 看能否跳轉到…

移動設備頁面高度不足時min-height 的尷尬處理

移動設備頁面高度不足時min-height 的尷尬處理 在做html5的頁面時&#xff0c;經常遇到頁面內容太少撐不起來整個手機屏幕的高度。 我們經常使用min-height來處理&#xff0c;比如min-height:568px; 對應的是iPhone5 的高度&#xff1b; 而這樣iPhone6plus下方就會出現空白。 而…

最優化課堂筆記02:第二章 線性規劃

第二章 線性規劃&#xff08;重點&#xff1a;單純形法&#xff09; 1.線性規劃問題及其模型&#xff08;重點&#xff1a;標準形式&#xff09; 題型&#xff1a;是否為標準形式&#xff1f;不是的話化為標準形式&#xff01; 1&#xff09;問題的提出 提出問題&#xff1…

客戶端是選擇Java Swing還是C# Winform

登錄 | 注冊 mentat的專欄 目錄視圖摘要視圖訂閱【專家問答】韋瑋&#xff1a;Python基礎編程實戰專題 【知識庫】Swift資源大集合 【公告】博客新皮膚上線啦 快來領福利&#xff1a;C幣、機械鍵盤 客戶端是選擇Java Swing還是C# Winform 標簽&#xff1a; swi…

linux下怎么編譯動態庫并且調用

樣例描述&#xff1a;我有一個main.cpp文件件&#xff0c;add.cpp &#xff0c;add.h &#xff0c;subtract.cpp &#xff0c;subtract.h文件&#xff0c;main.cpp里面調用加法和減法的函數&#xff0c;把加法和減法準備編譯成動態庫 libalgorithm.so&#xff0c;然后main調用這…

NDK編譯錯誤expected specifier-qualifier-list before...

基于cocos2d-x在win7下開發android程序&#xff0c;一般都會選擇先在win32下調試&#xff0c;等最后再在eclipse環境下安裝測試到真機上。期間&#xff0c;要使用到cocos2d-x提供的一些簡化方案進行NDK編譯&#xff08;一般使用gcc)。但是&#xff0c;VISUAL STUDIO 2010 C編譯…

學習筆記(28):Python網絡編程并發編程-死鎖與遞歸鎖

立即學習:https://edu.csdn.net/course/play/24458/296445?utm_sourceblogtoedu 1.死鎖&#xff08;Lock()的局限性&#xff09; 知識點&#xff1a;Lock(&#xff09;只能被獲得&#xff08;acquire&#xff09;一次&#xff0c;要想再次獲得必須釋放后才能獲得 1)死鎖情況…

VScode 快速更改編碼格式

1、view下的 Cmmand Palette 下的Change file Encoding simplifiled chinese GB2312

iostat

r/s: 每秒讀取的請求數。 w/s: 每秒寫入的請求數。 Avgqu-sz: 平均I/O隊列長度 Await:平均每次設備I/O操作的等待時間(毫秒) Svctm:平均每次設置I/O操作的服務時間(毫秒)&#xff0c;Svctm越接近Await則說明等待時間少 %util:表示設備的繁忙程度&#xff0c;80%表示設備設備已經…

學習筆記(29):Python網絡編程并發編程-信號量

立即學習:https://edu.csdn.net/course/play/24458/296446?utm_sourceblogtoedu 信號量&#xff08;了解&#xff09;&#xff1a;也是一把鎖semaphore 1. from threading import Thread,Semaphore,currentThread import time#定義信號量(3把鎖) sm Semaphore(3)def task()…

Ajax基礎2

什么是服務器 網頁瀏覽過程的分析 如何配置自己的服務器程序&#xff08;AMP&#xff09; 什么是Ajax 無刷新數據讀取 異步&#xff0c;同步 Ajax基礎(2) 使用Ajax 基礎請求顯示txt的文件 字符集編碼 緩存&#xff0c;阻止緩存 動態數據&#xff0c;請求js或&#xff08;json&a…

動態SQL應用(成績排名)

Code-- 年級排名和班級排名declare sql varchar(4000),nclassid int,nexamid int select sql select nclassid38 select nexamid19select sqlsqlmax(case scoursename when scoursename then descore else 0 end) scoursename,from (select distinct scoursename from t_card_…

《將進酒》——李白

君不見&#xff0c;黃河之水天上來&#xff0c;奔流到海不復回。 君不見&#xff0c;高堂明鏡悲白發&#xff0c;朝如青絲暮成雪。 人生得意尋盡歡&#xff0c;莫使金樽空對月。 天生我材必有用&#xff0c;千金散盡還復來。 烹羊宰牛且為樂&#xff0c;會須一飲三百杯。 岑夫子…

關于windows上的exe可執行程序在黑色窗口運行時候不能點擊屏幕,要不然會暫定程序

關于windows上的exe可執行程序在黑色窗口運行時候不能點擊屏幕&#xff0c;要不然會暫定程序 2019-12-3 記錄

學習筆記(30):Python網絡編程并發編程-Event事件

立即學習:https://edu.csdn.net/course/play/24458/296447?utm_sourceblogtoedu threading.Event事件 1.概念及功能&#xff1a;主要是完成線程之間的通信&#xff0c;將另一個線程的運行狀態通知給另一個線程 2.使用場景&#xff1a; 1&#xff09;客戶端運行時等待服務器啟…