日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Lambda、Linq 多列分組問題

Lambda、Linq 多列分組問題

來源:程序員人生   發布時間:2014-10-04 08:00:00 閱讀次數:3652次

Lambda、Linq 多列分組問題,是非常常見的需求。下面引用論壇某位壇友提出的問題:

    班級         課程   老師
A  高一班     英語   小王
B  高二班     英語   小王
C  高一班     英語   小張

結果:

    班級         課程   老師
A  高一班     英語   小王
C  高一班     英語   小張


經過分析可以看出,根據課程和老師進行分組,重復的取第一行的數據。傳統的方法可能要寫很多代碼,而用Lambda或者Linq只需要幾行代碼就能實現。

完整代碼如下:

namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Data[] data = new Data[] { new Data(){班級="高一班", 課程="英語", 老師="小王"}, new Data(){班級="高二班", 課程="英語", 老師="小王"}, new Data(){班級="高一班", 課程="英語", 老師="小張"}, new Data(){班級="高一班", 課程="英語", 老師="小張"}, }; //方式1:Lambda var resultLambda = data.GroupBy(x => new { 課程 = x.課程, 老師 = x.老師 }).Select(x => x.FirstOrDefault()); resultLambda.ToList().ForEach(x => Console.WriteLine(string.Join(",", x.班級, x.課程, x.老師))); //方式2:Linq var resultLinq = from p in data group p by new { p.課程, p.老師 } into g select new { 班級 = g.FirstOrDefault().班級, 課程 = g.Key.課程, 老師 = g.Key.老師, }; resultLinq.ToList().ForEach(x => Console.WriteLine(string.Join(",", x.班級, x.課程, x.老師))); } } public class Data { public string 班級 { get; set; } public string 課程 { get; set; } public string 老師 { get; set; } } }

運行結果:


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲另类xxxx| 国内毛片毛片 | 久久精品国产色蜜蜜麻豆 | 欧美在线视频二区 | 欧美日韩国产在线看 | 九九av | 看av网址 | 99久免费精品视频在线观78 | 成人av观看| 久久久久久国产精品 | 国产成人免费网站 | 18久久久久久| 日韩中文一区二区 | 欧美日韩综合一区 | 国产青青视频 | 91福利网站 | 国产99在线视频 | 国产成人精品免费视频 | 欧美视频网站 | 精品久久电影 | 爱情岛亚洲首页论坛 | 欧美最猛黑人xxxx黑人猛叫黄 | 国产动漫av | 国产精品日本一区二区不卡视频 | 国产人成精品一区二区三 | av成人在线观看 | 久久久高清 | 91精品国产92久久久久 | 欧美日韩激情在线一区二区三区 | 亚洲国产精品久久久久久 | 国产精品欧美精品 | 污视频网站在线观看 | 欧美精品成人一区二区三区四区 | 国产三级黄色片 | 国产日本亚洲香蕉视频 | 亚洲一区二区三区精品在线 | 日韩不卡 | 精品一区二区三区91 | 国产主播精品 | 美女视频黄是免费 | 伊人亚洲影院 |