国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Lambda表達式的面紗(一)

2019-11-17 03:08:13
字體:
來源:轉載
供稿:網友

Lambda表達式的面紗(一)

在.NET3.0版本中微軟推出了Lambda表達式。這使代碼的表述可以更加優雅。但是對于新事物大多會本能的排斥,雖然3.0版本已經推出了好久了,但是我向周圍的人了解了一下,用Lambda的人不是很多,即使有可以使用的場合也用舊方法來代替。其實Lambda表達式并不神秘,下面讓我們一起來揭開C# Lambda的面紗。

下面這段簡單的程序是包含了一段Lambda表達式, class當然這個小例子并沒有體現出Lambda的優勢所在,Lambda的好處會在下一章會介紹。我們先去看看Lambda表達式的本質,正所謂透過現象看本質。現在需要一款反編譯的工具.net reflector (下載網址:http://115.com/lb/5lbd3lgqkupj)打開該軟件,將編譯的項目文件用reflector 打開反編譯的結果和我們寫的基本一致,因為我們選擇了4.0,微軟在3.0的時候已經推出的Lambda表達式。讓我們選擇.NET2.0,然后再進行反編譯,看看會變成什么樣子。熟悉不? 這不就是我們所熟悉的匿名方法的寫法嗎。既然Lambda表達式就是匿名方法寫法的升級,那么在.net平臺還不支持匿名方法的時候,會被反編譯成什么樣子呢。我們還原一下程序:這是用一個委托,調用了一個方法,方法返回了三個變量拼接的字符串。 這段程序和之前的Lambda表達式實現的功能是一致的。 classClass2{privatedelegatestringMyDelagate(stringval1,stringval2);staticvoidMain(string[]args){MyDelagatemy=newMyDelagate(Method);Console.WriteLine(my("參數1","參數2"));Console.Read();return;}privatestaticstringMethod(stringparam1,stringparam2){stringtest="內部變量";return(param1+param2+test);}}通過上述的分析我們已經揭開了Lambda的面紗,同時也揭開了Lambda的發展歷程。1.在.net1.0的時候,我們在程序中只能通過方法調用來實現功能2.或者通過定義委托來進行方法調用3.在.net2.0中支持了匿名委托,所以可以通過編寫匿名方法來實現功能。4.在.net3.0中推出了Lambda表達式,它讓我們在實現功能的同時,美化了代碼結構。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 军事| 靖州| 定州市| 灵丘县| 丹阳市| 藁城市| 琼海市| 平遥县| 太和县| 承德县| 信丰县| 哈巴河县| 诏安县| 福安市| 高唐县| 宝清县| 宣武区| 佛坪县| 资兴市| 凤台县| 中超| 惠来县| 阳春市| 苏尼特左旗| 天峻县| 淳安县| 榆社县| 涞水县| 龙井市| 苍梧县| 汝阳县| 固始县| 景德镇市| 电白县| 云安县| 阿合奇县| 渝中区| 乐亭县| 阳山县| 沙坪坝区| 旌德县|