bool>>与Func怎么用(Lamda表达式Expression

Lamda表达式Expression<Func<T, bool>>与Func<T, bool>怎么用

这篇文章给大家分享的是有关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>怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-12-29 23:27:24
收藏
分享
海报
0 条评论
28
上一篇:大数据中正则化是什么意思 下一篇:如何使用Adafruit读取DHT11温湿度传感器
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码