[.NET]lambda表达式的优势


委托,如果不追究细节,从表面上来看我们可以将其通俗地理解为一个安全的“函数指针”。当然,这个函数指针其实也是一个对象,有自己的成员,也会封装了被调用方的上下文等等。http://blog.zhaojie.me/2009/08/from-delegate-to-others.html

 


http://blog.zhaojie.me/2009/03/anonymous-method-false-sharing.html

http://blog.zhaojie.me/2009/06/laziness-traps.html#comment_kbYt7e3T02o0000b

匿名方法是.NET 2.0中引入的高级特性,“匿名”二字说明它可以把实现内联地写在一个方法中,从而形成一个委托对象,而不用有明确地方法名,

匿名方法的优势在于自动形成闭包,而它的缺点也是让程序员“不自觉”地创建了闭包,这会让某些对象的生命周期加长。

警惕匿名方法造成的变量共享

当这些对象被匿名方法带到多线程中之后,他们被共享了,问题就来了…

 


http://blog.zhaojie.me/2009/08/from-delegate-to-others-2.html

不仅仅是语法上的便利,不仅仅是少写点代码。

在使用Lambda表达式的实现中,代码变得“声明式(declarative)”了许多。所谓“声明式”,便是“声称代码在做什么”,而不像“命令式 (imperative)”的代码在“操作代码怎么做”。换句话说,“声明式”关注的是“做什么”,是指“what(to do)”。

有没有构造新的容器,又是怎么向容器里添加元素的……这些细节,使用Lambda表达式的代码一概不会关心;编译器替我们做了,我们只需要定好要筛选哪类元素等等标准就行了。

 

 

此文链接赵劼的不少文章,本文是这些链接的笔记。在此表示感谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值