[.NET]lambda表达式的优势
2012-12-11 13:36
274 查看
委托,如果不追究细节,从表面上来看我们可以将其通俗地理解为一个安全的“函数指针”。当然,这个函数指针其实也是一个对象,有自己的成员,也会封装了被调用方的上下文等等。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表达式的代码一概不会关心;编译器替我们做了,我们只需要定好要筛选哪类元素等等标准就行了。
此文链接赵劼的不少文章,本文是这些链接的笔记。在此表示感谢。
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表达式的代码一概不会关心;编译器替我们做了,我们只需要定好要筛选哪类元素等等标准就行了。
此文链接赵劼的不少文章,本文是这些链接的笔记。在此表示感谢。
相关文章推荐
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势(转)
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
- 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
- 一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
- .net中LAMBDA表达式常用写法
- .Net新手学堂:Lambda表达式的一般应用
- .NET教程 Lambda 表达式的简介及形成过程
- 关于.Net Remoting中Lambda表达式的串行化问题
- .net 3.5 framework中的Lambda表达式
- 一起谈.NET技术,【More Effective C#】Lambda表达式优化
- .NET笔记系列:LAMBDA表达式常用写法
- .NET 3.x新特性之Lambda表达式
- .Net - Lambda 表达式
- Lambda表达式及其优势
- .NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式
- Lambda表达式及其优势
- sql语句-linq语言-lambda表达式对照 分类: .NET 2014-08-16 04:02 250人阅读 评论(0) 收藏
- Lambda表达式及其优势