博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年2月21日

摘要: Lambda表达式在C# 3.0 中,Microsoft 添加了“lambda 表达式”。lamdba表达式曾经用于很久以前的LISP计算机语言中,在1936年由一个美国数学家Alonzo Church对其进行了概念化描述。这些表达式提供了便捷的语法来指定一个算法。但是在接下来开始介绍lambda表达式之前,首先看看将一个算法指定为某个方法的参数的演进过程,因为这正是lambda表达式的目的。1. 使用命名的方法在C# 2.0之前,当一个方法或变量要用到委托(delegate)时,开发人员必须创建一个命名方法,并在需要委托的位置传入这个名称。例如,考虑以下情况。假定有两个开发者,一个是通用代码 阅读全文

posted @ 2012-02-21 15:48 十一郞 阅读(241) 评论(0) 推荐(0) 编辑

摘要: C#4.0增加了动态语言的特性,从里面可以看到很多javascript、python这些动态语言的影子。虽然越来越偏离静态语言的道路,但从另一个角度来说,这些特性也都是为了提高程序员的生产力。概述 回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手;C#2.0加入了泛型,也与Java1.5的泛型如出一辙;C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性;C#4.0增加了动态语. 阅读全文

posted @ 2012-02-21 14:10 十一郞 阅读(179) 评论(0) 推荐(0) 编辑