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

这篇文章给大家分享的是有关Lamda表达式Expression>与Func怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

十余年的平遥网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整平遥建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“平遥网站设计”,“平遥网站推广”以来,每个客户项目都认真落实执行。

在做C#是用到Lamda表达式后会节省很多代码,最近因为在做MongoDB的东西时,想封装个C#的数据库操作类,可是对于查询里面的where一直没考虑到怎么处理好,无意间百度到了Expression>与Func,发现确实很不错

说明

Func委托(delegate)

Expression>是表达式

Expression编译后就会变成delegate,才能运行。

举例:

Expression> ex = x=>x < 100;

Func func = ex.Compile(); 

然后你就可以调用func:

func(5) //-返回 true

func(200) //- 返回 false

而表达式是不能直接调用的。

测试例子

还是用我们上次Mongodb的Demo例子

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

我们原先的Save按钮里写了where后面直接是lamda表达式.现在我们改成Expression>的方式

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

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


网页名称:Lamda表达式Expression<Func<T,bool>>与Func<T,bool>怎么用
当前链接:http://ybzwz.com/article/jgdjge.html