中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用

發布時間:2021-12-29 17:26:22 來源:億速云 閱讀:703 作者:小新 欄目:大數據

這篇文章給大家分享的是有關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例子

Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用

我們原先的Save按鈕里寫了where后面直接是lamda表達式.現在我們改成Expression<Func<TObject, bool>>的方式

Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用

在Expression<Func<CPersonal,bool>> per,把Tobject改為CPersonal類

per就直接可以找到對應的參數進行設置,然后在下面的where子句里面直接傳入per即可

接下來我們看看運行效果

先查詢所有的數據

Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用

可以看到,大于21歲的有兩條李四  : 42,  wilson002 : 26

我們點擊更新Save后

再重新查詢

Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用

可以看到李四:44   wilson002:28

 后面我們做MongoDb封裝類時就可以用這個參數來傳遞where查詢了

感謝各位的閱讀!關于“Lamda表達式Expression<Func<T, bool>>與Func<T, bool>怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭通市| 常山县| 岳普湖县| 永和县| 南安市| 绍兴县| 潍坊市| 金堂县| 巩留县| 长沙县| 昌平区| 虞城县| 西吉县| 大同县| 宜黄县| 泾阳县| 高碑店市| 灵川县| 剑阁县| 永德县| 邮箱| 万全县| 嘉荫县| 安国市| 顺义区| 资讯| 岳池县| 蓬莱市| 仪征市| 平谷区| 洪雅县| 定陶县| 博野县| 尉氏县| 承德县| 什邡市| 海城市| 罗平县| 东辽县| 武安市| 溆浦县|