您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在做C#是用到Lamda表達式后會節省很多代碼,最近因為在做Mongodb的東西時,想封裝個C#的數據庫操作類,可是對于查詢里面的where一直沒考慮到怎么處理好,無意間百度到了Expression<Func<T, bool>>與Func<T, bool>,發現確實很不錯
說明
Func<TObject, bool>是委托(delegate)
Expression<Func<TObject, bool>>是表達式
Expression編譯后就會變成delegate,才能運行。
舉例:
Expression<Func<int, bool>> ex = x=>x < 100;
Func<int, bool> func = ex.Compile();
然后你就可以調用func:
func(5) //-返回 true
func(200) //- 返回 false
而表達式是不能直接調用的。
測試例子
還是用我們上次Mongodb的Demo例子
我們原先的Save按鈕里寫了where后面直接是lamda表達式.現在我們改成Expression<Func<TObject, bool>>的方式
在Expression<Func<CPersonal,bool>> per,把Tobject改為CPersonal類
per就直接可以找到對應的參數進行設置,然后在下面的where子句里面直接傳入per即可
接下來我們看看運行效果
先查詢所有的數據
可以看到,大于21歲的有兩條李四 : 42, wilson002 : 26
我們點擊更新Save后
再重新查詢
可以看到李四:44 wilson002:28
后面我們做MongoDb封裝類時就可以用這個參數來傳遞where查詢了
感謝各位的閱讀!關于“Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。