zoukankan      html  css  js  c++  java
  • 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表达式能够转化为表达式树。

          

                   

      

          

           

  • 相关阅读:
    LeetCode算法题-Find Mode in Binary Search Tree(Java实现)
    LeetCode算法题-Keyboard Row(Java实现)
    LeetCode算法题-Next Greater Element I(Java实现)
    LeetCode算法题-Construct the Rectangle(Java实现)
    月经贴之 适配器 UML 类图 描述
    最近准备面试 ,要求立即各种设计模式
    URL方案最佳做法|高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
    使用属性创建区域 (Creating Areas with Attributes) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
    iOS定位
    iOS本地化
  • 原文地址:https://www.cnblogs.com/xiaowangzi1987/p/7906155.html
Copyright © 2011-2022 走看看