国产精品久久av_国产在线一区二区视频_欧美v亚洲v综合v国产v仙踪林_天天插天天色_亚洲精品久久久蜜桃_日韩一级网站_亚洲精品承认

南京軟件定制開發

南京傾心軟件歡迎您訪問本站

13605185909

新聞資訊

NEWS CENTER
欄目導航

南京軟件開發之Lambda表達式

發布時間:Mar 18, 2021         已有 人瀏覽

       在C#的語法中有一種比較特殊的寫法,叫做Lambda表達式,這種表達式的寫法在于你查詢數據的時候直接是使用以下箭頭的形式來表示查詢語句的:=>。例如,我們要查找學生的List<Student>集合中班級編號為1001的所有學生數據,我們即可用Studentlist.Where(t=>t.ClassCode=‘1001’)語句來直接完成,無需再寫繁瑣的foreach語句或者for循環。Lambda表達式的運算符即為=>。

一、Lambda表達式定義

        Lambda表達式實際上是一種匿名函數,在Lambda表達式中可以包含語句以及運算等操作。并且可用于創建委托或表達式目錄樹類型,支持帶有可綁定到委托或表達式樹的輸入參數的內聯表達式。使用Lambda表達式可大大減少代碼量,使得代碼更加的優美、簡潔,更有可觀性。

 

二、Lambda表達式的表現形式

       表達式形式:(Input Param)=>Expression。在表達式左側的表示輸入參數,右側的為相應的運算語句或者判斷語句等,可包含函數調用等復雜方式。運算符=>讀作為goes to,例如下面這個表達t=>t.ClassCode='1001',多做goes to ClassCode equal 1001。

       在上述的表達式中,僅僅只有當參數只有一個的時候,括號是可選擇的,例如下面這種含有兩個參數時候的情況應該是這樣子的寫法

1
(a,b)=>a==b

  當表達式中的多個參數編譯器無法自動判斷類型的時候,則需要顯式指定類型。

1
(int firstIndex, string str) => str.IndexOf('Hello') > firstIndex

 

三、下面介紹List集合中的Lambda表達式的運用

       在C#的List集合中,我們時常需要使用到大量的運算或者篩選等操作,按常規的方式無非就是利用foreach或者for對List集合進行循環操作,最后運算出結果。此種方法往往需要寫多行語句,閱讀性稍微差點,當然復雜的情況下編寫也費時。博主遇到這種情況一般比較喜歡偷懶,很少會去直接寫循環,而是直接使用Lambda表達式一條語句完成。

     先假定好我們待會使用的范例的格式:

     studentList對象:此對象是一個List集合,集合中的對象為學生實體Student。此集合中存放著整個學校學生的信息。

     scoreList對象:此對象是個List集合,集合中的對象是成績實體Score,此集合中存放著為學生的成績信息。

     Student實體:此實體包含下列幾個屬性,StudentName,StudentCode,ClassCode,ClassName,BirthDay,Grade。以上幾個英文單詞都比較簡單,就不做解釋了。

     Score實體:此實體包含下列幾個屬性,StudentCode,SubjectName(科目名稱),ScoreValue(分數,0-100的數字)。一個學生可能有多門成績數據存放在此。

    (1)查詢班級編號為1001的班級下面的所有學生實體并返回到list1001中存儲

1
var list1001=Studentlist.Where(t=>t.ClassCode==‘1001’);

 (2)查詢班級編號為1001的班級下面的所有學生實體并返回到list1001中存儲,并按照學生的出生日期從小到大排列。

1
var list1001=Studentlist.Where(t=>t.ClassCode==‘1001’).OrderBy(t=>t.BirthDay);

   在此說一下,OrderBy是從小到大排序,需要從大到小排列則用OrderByDescending。

 (3)查詢班級編號為1001的班級下面的姓氏為【李】的同學的所有集合,并按照學生的出生日期從小到大排列。

1
var list1001=Studentlist.Where(t=>t.ClassCode==‘1001’&&t.StudentName.StartWith(“李”)).OrderBy(t=>t.BirthDay);

 (4)查詢出班級編號為1001的班級,并且存在至少一門考試科目成績低于60分的所有同學。

1
var result = studentList.Where(t => (t.ClassCode == "1001") && (scoreList.Exists(p => p.ScoreValue < 60 && p.StudentCode == t.StudentCode)));

  在上述語句中,lambda表達式中再次嵌入了一個lambda表達式。t參數是studentList中的lambda表達式參數,代表實體為student。p參數為scoreList中的lambda表達式參數,代表的實體為score。

   (5)其他較常用的Lambda表達式如下:

復制代碼
 var a = studentList.FirstOrDefault(t => t.StudentCode == "10012");//FirstOrDefault返回第一個符合條件的數據,不存在的時候返回Null。
 var b = studentList.Count(t => t.StudentName == "傾心");//返回符合條件的實體個數
 var c = studentList.FindAll(t => t.StudentName.Contains(""));//查找所有名字中含有【中】的實體集合
 var d = studentList.GroupBy(t => t.ClassCode);//對studentList按照ClassCode分組
 var f = studentList.Max(t => t.BirthDay);//返回最大的出生日期。
 var e = scoreList.Sum(t => t.ScoreValue);//對所有成績求和
 var g = scoreList.Average(t => t.ScoreValue);//對所有成績求平均分
 var h = studentList.Select(t => t.StudentName).Distinct();//獲取所有的學生姓名,并去除重名
復制代碼

 

    Lambda表達式的總結大致如此,從上述例子來看,可以大大簡化代碼的量,并增加可讀性。

Copyright © 2020-2022 南京傾心軟件技術有限公司 版權所有     蘇ICP備2020070309號-1
QQ在線咨詢
13605185909
返回頂部
国产精品久久av_国产在线一区二区视频_欧美v亚洲v综合v国产v仙踪林_天天插天天色_亚洲精品久久久蜜桃_日韩一级网站_亚洲精品承认
欧美日韩在线一区二区| 欧美一区二区视频在线观看2022 | 老司机精品视频在线| 国产亚洲一区字幕| 91精品国产色综合久久不卡蜜臀| 国产成人综合网| 麻豆精品久久久| 亚洲在线成人精品| 国产精品欧美久久久久无广告 | 日韩va亚洲va欧美va久久| 亚洲男人的天堂一区二区| 久久久久九九视频| 91精品国产入口在线| 色综合久久久久综合| 国产a区久久久| 精品一区二区av| 日韩成人免费在线| 亚洲午夜在线视频| 亚洲欧美另类小说视频| 国产精品久线在线观看| 久久亚洲捆绑美女| 精品少妇一区二区三区视频免付费 | 伊人一区二区三区| 久久九九久久九九| 精品国产青草久久久久福利| 欧美精品 日韩| 欧美日韩国产综合草草| 色妞www精品视频| 91亚洲永久精品| 成人一区在线观看| 高清不卡一区二区| 国产一区二区视频在线播放| 久久不见久久见免费视频7| 蜜臀国产一区二区三区在线播放 | 国产999精品久久久久久绿帽| 国内久久婷婷综合| 国产专区欧美精品| 国产福利一区在线| 国产传媒欧美日韩成人| 国产+成+人+亚洲欧洲自线| 国产69精品久久99不卡| 国产原创一区二区三区| 国产精品伊人色| 成人中文字幕在线| 91色|porny| 色婷婷久久综合| 日本高清视频一区二区| 欧美影院精品一区| 在线不卡一区二区| 欧美一级生活片| 精品国产一区二区三区四区四| 日韩一区二区三区三四区视频在线观看| 欧美一区二区观看视频| 精品久久五月天| 久久精品免费在线观看| 国产精品美女一区二区三区| 综合久久国产九一剧情麻豆| 亚洲欧美国产三级| 亚洲国产aⅴ天堂久久| 亚洲国产日韩一区二区| 免费在线看成人av| 国产电影一区二区三区| 99免费精品视频| 在线亚洲高清视频| 欧美二区乱c少妇| 日韩一区二区免费电影| 久久奇米777| 亚洲色图第一区| 日日摸夜夜添夜夜添亚洲女人| 精品一区二区在线播放| 成人av综合在线| 欧美日韩极品在线观看一区| 日韩欧美国产不卡| 国产精品乱码人人做人人爱| 亚瑟在线精品视频| 国产精品一级在线| 欧美天天综合网| 精品国产区一区| 一区二区不卡在线视频 午夜欧美不卡在 | 国产一区二区三区在线观看精品 | 麻豆精品精品国产自在97香蕉| 成人动漫一区二区| 欧美亚洲图片小说| 久久久www成人免费无遮挡大片| 亚洲美女淫视频| 久久精品国产99国产精品| 成人动漫精品一区二区| 91精品国产一区二区人妖| 欧美激情一区二区在线| 亚洲v日本v欧美v久久精品| 国产传媒一区在线| 91精品国产一区二区三区香蕉| 最好看的中文字幕久久| 美女高潮久久久| 色天使色偷偷av一区二区| 久久蜜桃一区二区| 五月综合激情婷婷六月色窝| 成人久久18免费网站麻豆| 91精品视频网| 亚洲欧洲99久久| 精品一区二区三区免费播放| proumb性欧美在线观看| 欧美成人精品二区三区99精品| 综合精品久久久| 韩国三级电影一区二区| 欧美日韩成人综合天天影院| 国产日韩精品一区二区浪潮av| 日韩精品欧美精品| 97精品久久久久中文字幕| xnxx国产精品| 天天色图综合网| 99久久国产免费看| 久久精品欧美日韩| 免费成人美女在线观看.| 色婷婷亚洲综合| 亚洲国产精华液网站w| 青青草国产成人av片免费| 欧美无乱码久久久免费午夜一区| 日本一区二区视频在线| 久久电影网站中文字幕| 欧美日韩1234| 亚洲一区视频在线观看视频| 成人福利视频网站| 久久久久久久综合色一本| 麻豆精品久久精品色综合| 91精品国产综合久久精品app| 亚洲一区二区视频在线| 99久久精品国产一区二区三区| 国产欧美一区二区精品久导航| 精品一区二区三区视频在线观看| 3d动漫精品啪啪一区二区竹菊| 伊人色综合久久天天| 91丨porny丨蝌蚪视频| 国产精品视频在线看| 国产精品一区二区免费不卡| 久久婷婷国产综合国色天香| 国产一区免费电影| 精品国产乱码久久久久久蜜臀| 免费观看30秒视频久久| 欧美一区二区视频在线观看 | 中文字幕一区二区三区不卡| 成人午夜短视频| 国产欧美一区二区精品性| 国产风韵犹存在线视精品| 国产日韩欧美制服另类| 国产成人无遮挡在线视频| 久久久久久日产精品| 成人一级视频在线观看| 久久久久久99精品| 国产成a人亚洲| 国产精品超碰97尤物18| 91原创在线视频| 一区二区三区波多野结衣在线观看| 在线观看免费视频综合| 亚洲一区二区精品久久av| 欧美性猛交xxxxxx富婆| 亚洲国产欧美在线| 欧美日韩视频在线第一区| 亚洲国产视频一区二区| 日韩一级片网站| 国产在线精品不卡| 中文字幕久久午夜不卡| 99久久婷婷国产综合精品电影| 亚洲美女一区二区三区| 欧美性xxxxx极品少妇| 午夜成人免费电影| 日韩欧美国产一区二区三区| 国产酒店精品激情| 成人欧美一区二区三区白人| 一本久久精品一区二区| 亚洲成国产人片在线观看| 日韩欧美电影一二三| 国产精品1024| 亚洲一二三区在线观看| 日韩欧美三级在线| youjizz国产精品| 午夜精品久久久久久久| 久久一区二区视频| 91美女视频网站| 日韩精品一区第一页| 久久这里只有精品首页| 成人看片黄a免费看在线| 亚洲成av人片观看| 国产欧美日韩综合精品一区二区| 色婷婷av一区二区| 久久99在线观看| 亚洲欧美偷拍三级| 欧美www视频| 97精品国产露脸对白| 麻豆91在线观看| 亚洲另类在线一区| 精品国精品国产| 日本高清免费不卡视频| 国产又粗又猛又爽又黄91精品| 亚洲人精品午夜| 精品日本一线二线三线不卡| 色婷婷综合五月| 国产在线播放一区| 日韩专区欧美专区| 亚洲日本va午夜在线电影|