温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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