1.Lambda表达式(新手写的!新手写的!新手写的!)(未完成)
? ?作為19屆畢業的學C#的學生,我開始了找工作的經歷,前段時間面試了幾家公司,由于自己在大學的基礎知識學的不是很扎實,所以沒有應聘上?,F在寫文章整理知識,增加自己的知識,順便記錄自己的成長史吧,不對的請前輩們指點;面試最深刻的就是面試官讓我寫一個簡單的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表达式(新手写的!新手写的!新手写的!)(未完成)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: https下不加www的强制跳转 - N
- 下一篇: selenium自动化测试、Python