日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)

發布時間:2024/8/26 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?作為19屆畢業的學C#的學生,我開始了找工作的經歷,前段時間面試了幾家公司,由于自己在大學的基礎知識學的不是很扎實,所以沒有應聘上。現在寫文章整理知識,增加自己的知識,順便記錄自己的成長史吧,不對的請前輩們指點;面試最深刻的就是面試官讓我寫一個簡單的Lambda表達式,結果我懵逼了,不會寫,所以第一章就先寫個簡單的Lambda表達式吧。

? ?畢竟現在是回顧知識,不會的只能從查資料開始。剛去看了下大二的書籍,Lambda表達式(lambda expression)——是一個匿名函數;在C#中,Lambda 表達式用“=>”表示,主要工作是簡化類內的方法數量,以提升可維護性。而在LINQ中,Lambda表達式被廣泛使用,尤其是在LINQ的各函數內,充斥這許多的Func<TResult>,而這些都是Lambda表達式的活動范圍,因此要靈活運用LINQ,學習Lambda表達式是必須的(意思是Lambda表達式主要在LINQ中使用么?復習完這個去看看LINQ的知識吧...)

? ?在面向對象的類設計中,通常會設計許多的方法和屬性來支持類的任務,不過方法內的具體實現有很多只有特定方法才會調用(意思應該是方法需要被調用才能實現吧),這些方法大多是因為要處理委托(delegate)而生成的(這句話不是很理解,意思是方法需要處理委托后才能被調用?),所以Lambda表達式首要解決的問題之一就是簡化委托的編寫(書上是這么寫的,而且下面很多地方涉及到了委托,所以我只能先去看看委托的知識了)。

? ?委托的概念:委托是一個類,它定義了方法的類型,使得可以將一個方法當作另一個方法的參數進行傳遞,這種將方法動態地賦給參數的做法,可以避免使用if-else或者switch語句,同時使得程序具有更好得可擴展性;多數用于實現事件和回調方法。

? ?然后看了很多網上的文章,總的來說,委托機制是一種封裝函數的機制,讓程序員可以將函數視為對象,將它傳遞給需要的對象使用;類似于C++中函數的指針(但委托是面向對象得,且還類型安全),它也是個類型,和類是同一個級別,區別就在于委托的關鍵字是delegate和沒有方法體:

? ?deleget 函數返回類型 委托名(參數);

? ?class 類名{字段、屬性、方法、構造函數},下面是簡單的委托,自己手動寫一次,對理解還是有很大幫助的。

?

? ? 在之后的匿名委托就是把執行一段沒有名字的執行語句,在此匿名委托的基礎上,人們進一步簡化,就出來Lambda表達式(可以說Lambda表達式是匿名委托的升級版?這個我也是在https://www.cnblogs.com/ruanraun/p/6040532.html看到的一個大佬寫的文章理解的,自己肚子里也沒什么墨水)

? ? 先到這,去看看其他基礎,得去面試,看看這點基礎夠通過不,等回來接著深入。

?

轉載于:https://www.cnblogs.com/dreamoffire/p/9751818.html

總結

以上是生活随笔為你收集整理的1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。