Linq学习系列-----1.1 Lambda表达式介绍

  

       1.1  Lambda表达式介绍

             下图就是一个典型的Lambda表达式。

                   

                   instance:输入参数

                   =>:Lambda操作符

                   instance.MemoryCount>=20*1024; :表达式语句块

               Lambda操作符可以读作"goes to",操作符的左边用来输入参数,右边是表达式块或语句。

       1.2  Lambda表达式实例

                     

                     表达式1:有参数的隐式类型,表达式方法体

                     表达式2:有参数的隐式类型,语句方法体

                     表达式3:有参数的显式类型,表达式方法体

                     表达式4:有参数的显式类型,语句方法体

                     表达式5:有多个参数的表达式方法体

                     表达式6:无参数的表达式方法体

                     表达式7:无参数的表达式方法体

       1.3  Lambda表达式与系统匿名委托的兼容

                   

                 表达式1:无参数

                 表达式2:隐式类型的字符参数

                  表达式3:显示类型的字符参数

                 表达式4:两个隐式类型的int参数

             Action与Func匿名委托,这里不具体介绍,具体学习委托即可。委托说白了就是方法的指针。可能我是学C++出身,所以“方法的指针”一言即可概括。

      1.4  Lambda与匿名方法比较

              我们可认为Lambda表达式是匿名方法的一个超集,除了实现匿名方法的功能之外,还存在以下功能:

                     1.Lambda表达式能够推测出参数的类型,因此程序中无需显式声明

                     2.Lambda表达式支持用语句块或表达式作为方法体,语法上比匿名方法更加灵活,匿名方法体只能作为语句块。

                     3.在以参数形式传递时,Lambda表达式能够参数到参数类型推断以及对重载方法的选择中。

                     4.带有表达式的Lambda表达式能够转化为表达式树。

      

               

  

 

 

 

      

       

 

posted @ 2017-11-27 21:10  小王子的博客  阅读(386)  评论(0编辑  收藏  举报