国产精品久久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仙踪林_天天插天天色_亚洲精品久久久蜜桃_日韩一级网站_亚洲精品承认
欧美裸体一区二区三区| 91国偷自产一区二区三区成为亚洲经典| 亚洲一级二级在线| 亚洲美女一区二区三区| 中文字幕在线观看一区二区| 国产精品黄色在线观看| 国产精品久久久久一区二区三区共| 国产精品系列在线| 成人免费一区二区三区在线观看| 亚洲欧美激情插| 亚洲.国产.中文慕字在线| 美女视频黄a大片欧美| 久久国产夜色精品鲁鲁99| 加勒比av一区二区| 国产精品资源网站| 色美美综合视频| 日韩欧美一级二级| 久久一日本道色综合| 亚洲天天做日日做天天谢日日欢| 亚洲成年人网站在线观看| 久久成人免费网| gogo大胆日本视频一区| 欧美日韩国产片| 久久久久国产精品厨房| 亚洲天堂2014| 久久国产精品99久久人人澡| 成人性生交大片免费看视频在线| 欧美无乱码久久久免费午夜一区 | 亚洲日本在线看| 人人狠狠综合久久亚洲| 国产精品一二三四| 欧亚一区二区三区| 久久久不卡网国产精品一区| 亚洲一区二区中文在线| 国产成人精品一区二区三区四区 | 91.com在线观看| 国产精品久久久99| 六月婷婷色综合| 欧美怡红院视频| 欧美经典一区二区| 免费观看久久久4p| 欧美主播一区二区三区| 国产精品国产三级国产专播品爱网| 日韩高清国产一区在线| 色菇凉天天综合网| 欧美激情在线看| 黄页网站大全一区二区| 欧美日韩在线免费视频| 亚洲免费观看高清完整版在线观看熊| 奇米888四色在线精品| 欧美伊人久久大香线蕉综合69 | 99在线视频精品| 久久久久综合网| 麻豆精品在线播放| 3d动漫精品啪啪| 午夜精品福利久久久| 成人18视频在线播放| 久久精品视频网| 精品一区二区三区免费播放| 欧美一区二区在线免费观看| 亚洲大片免费看| 欧美日韩一区二区三区视频 | 久久婷婷成人综合色| 男人的天堂久久精品| 欧美日韩成人高清| 视频一区二区三区在线| 欧美日韩亚洲综合一区| 亚洲第一激情av| 欧美另类高清zo欧美| 午夜影院久久久| 日韩一区二区高清| 美日韩一区二区| 26uuu久久天堂性欧美| 国产原创一区二区| 国产亚洲成av人在线观看导航 | 色狠狠av一区二区三区| 亚洲另类春色国产| 欧美日韩国产经典色站一区二区三区| 亚洲综合av网| 制服丝袜中文字幕亚洲| 热久久国产精品| ww久久中文字幕| 成人免费av网站| 一区二区三区日韩| 91精品国产麻豆| 国产精品123| 一区二区三区四区在线播放| 欧美日本在线观看| 狠狠色狠狠色综合系列| 国产精品国产三级国产aⅴ中文 | 久久久一区二区| av亚洲精华国产精华精| 亚洲国产精品久久久久秋霞影院| 欧美丰满一区二区免费视频| 国产呦萝稀缺另类资源| 中文字幕在线不卡| 欧美一区二区视频网站| 成人综合日日夜夜| 亚洲123区在线观看| 久久久五月婷婷| 日本电影欧美片| 国产一区二区三区日韩| 亚洲综合免费观看高清完整版在线| 欧美一激情一区二区三区| 99久久夜色精品国产网站| 日韩电影在线免费看| 亚洲图片你懂的| 久久综合色8888| 欧美日韩精品三区| 国产91露脸合集magnet | 久88久久88久久久| 亚洲精品免费在线播放| 久久久久久久久岛国免费| 欧美丝袜丝交足nylons图片| 国产精品综合av一区二区国产馆| 亚洲国产日韩精品| 中文字幕制服丝袜一区二区三区| 欧美一区二区三区在线看| 97久久精品人人做人人爽| 国产精品资源在线看| 日日欢夜夜爽一区| 一区二区三区av电影| 国产精品精品国产色婷婷| 精品久久久久久久久久久久久久久久久 | 91老师国产黑色丝袜在线| 狠狠狠色丁香婷婷综合激情| 性久久久久久久久| 亚洲精选免费视频| 国产精品久久久久久久岛一牛影视| 欧美岛国在线观看| 日韩一级在线观看| 欧美乱妇15p| 欧美蜜桃一区二区三区| 91网站最新地址| 成人福利视频在线| 国产99精品国产| 粉嫩av一区二区三区| 韩国av一区二区三区四区| 六月丁香婷婷色狠狠久久| 日韩中文字幕1| 三级一区在线视频先锋| 日韩精彩视频在线观看| 亚洲成人tv网| 日韩中文字幕区一区有砖一区| 一区二区不卡在线播放 | 国产高清一区日本| 国产大陆精品国产| 成人高清伦理免费影院在线观看| 粉嫩欧美一区二区三区高清影视| 久久精品国产久精国产| 极品少妇xxxx精品少妇偷拍| 久久91精品久久久久久秒播| 国产一区二区视频在线| 国产黄色91视频| 成人国产精品免费观看动漫| 99精品一区二区| 欧美图区在线视频| 欧美一区二区黄| 国产亚洲成年网址在线观看| 中文无字幕一区二区三区| 国产精品午夜在线| 亚洲卡通欧美制服中文| 日韩影院免费视频| 狠狠色丁香婷综合久久| 99精品视频在线播放观看| 在线视频你懂得一区| 91麻豆精品久久久久蜜臀| wwww国产精品欧美| 日韩毛片高清在线播放| 婷婷开心激情综合| 国产精品自拍网站| 91福利视频在线| 精品国产青草久久久久福利| 国产精品女人毛片| 亚洲第一综合色| 国产一区二区三区日韩 | 欧美精品一区二区三区一线天视频 | 亚洲一区二区四区蜜桃| 久久精品国内一区二区三区| 成人av午夜影院| 日韩一区二区三区免费观看| 国产视频一区二区在线| 亚洲成人免费视| 成人免费看黄yyy456| 欧美日韩视频专区在线播放| 国产三级一区二区| 亚洲国产aⅴ成人精品无吗| 国产精品91xxx| 7777精品伊人久久久大香线蕉的| 久久久久成人黄色影片| 午夜电影久久久| 成人激情小说网站| 日韩视频在线你懂得| 亚洲一区二区影院| 成人av第一页| 久久免费国产精品| 麻豆精品新av中文字幕| 欧美视频完全免费看| 国产精品乱人伦中文| 国产在线看一区|