【转载】Lambda&Linq你真的懂吗

[软谋.net] Eleven 2018/10/21 21:05:44

【Lambda表达式前世今生】



01

【原理剖析】

    通过反编译工具ILSpy查看IL发现,lambda&匿名方法,实际是语法糖,在编译器之后,还是要分配名称,其实还是普通方法。lambda表达式的本质是什么?不是委托,也不是委托的实例,只是构造委托的参数,其实就是一个方法!


02

【系统自带委托】

Action 0到16个参数  没有返回值的  泛型委托

Func   0到16个参数  带返回值的    泛型委托

Action&Func基本上可以覆盖我们需要的全部委托,免去自定义委托!因为委托是个类型,不同的委托实例是属于不同类型的,完全无法通用!所以在3.0的时候,微软统一了这件事儿,一律使用Action Func,就不在定义新的委托!


03

【Linq】

var list = intList.Where<int>(i => i > 100);

陈述式语法,完全都不用思考,就可以完成数据的过滤,but why?真的有什么神秘力量吗?一切将在视频里面揭晓,手写Linq To Object扩展,解密Linq的伟大设计思想,Linq to Everything!





看完本文有收获?请转发分享给更多人

关注「.net学院」,提升.Net技能 






原文地址: https://www.opengps.cn/Blog/View.aspx?id=191 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

评论

暂无评论!

发表评论:

用于接收作者回复信息
点击更换验证码 - openGPS提示