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表达式能够转化为表达式树。

  

Linq学习系列-----1.1 Lambda表达式介绍的更多相关文章

  1. LINQ学习系列-----1.3 扩展方法

    这篇内容继续接着昨天的Lambda表达式的源码继续下去.昨天讲了Lambda表达式,此篇讲扩展方法,这两点都是Linq带来的新特性.    一.扩展方法介绍   废话不多说,先上源码截图: 上图中Ge ...

  2. c/c++ lambda 表达式 介绍

    lambda 表达式 介绍 问题:假设有个需求是,在vector<string>找出所有长度大于等于4的元素.标准库find_if函数的第三参数是函数指针,但是这个函数指针指向的函数只能接 ...

  3. Java8新特性: lambda 表达式介绍

    一.lambda 表达式介绍 lambda 表达式是 Java 8 的一个新特性,可以取代大部分的匿名内部类,简化了匿名委托的使用,让你让代码更加简洁,优雅. 比较官方的定义是这样的: lambda ...

  4. LINQ学习系列-----2.3 迭代器带来的延迟查询

    此篇博文承接上一篇博文: LINQ学习系列-----2.2 迭代器 一.第一次执行                      废话不多说,上源码: 执行结果下图: 为什么会这样?其实原因很简单 fro ...

  5. Lambda表达式介绍(转)

    刚开始学lambda,lambda与linq的联合使用. Lambda表达式实际上是一个匿名函数.它包含表达式和语句,常用于创建委托或表达式目录树类型.所有Lambda表达式都是用Lambda运算符- ...

  6. CAN总线学习系列之— CAN总线特点介绍

    CAN总线学习系列之— CAN总线特点介绍 CAN 总线作为一种工业界的流行总线广泛应于工业自动化.多种控制设备.交通工具.医疗仪器以及建筑.环境控制等各个行业中,它是是一种多主机局域网,所以这样 一 ...

  7. Golang学习系列:(一)介绍和安装

    Golang学习系列:(一)介绍和安装 Java程序员带你来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的,带有垃圾回收的.快速编译的语言,它具有一下特点: 他可以在一台计算机上用几 ...

  8. java与.net比较学习系列(4) 运算符和表达式

    上一篇总结了java的数据类型,得到了冰麟轻武等兄弟的支持,他们提出并补充了非常好的建议,在这里向他们表示感谢.在后面的文章中,我会尽力写得更准确和更完善的,加油! 另外,因为C#是在java之后,也 ...

  9. Linq To sql入门练习 Lambda表达式基础

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

随机推荐

  1. MVVM模式下 DataTemplate 中控件的绑定

    今天给ListBox中通过DataTemplate生成的Button绑定命令时,一开始Button始终找不到绑定的命令.现找到了正确的绑定方式,特来记录一下. 先上个正确的示例: <ListBo ...

  2. JSTL标签库的基本教程之核心标签库(一)

    JSTL介绍 Java Server Pages Standard Tag Libray(JSTL):JSP标准标签库,它封装了JSP应用的通用核心功能.JSTL支持通用的.结构化的任务,比如迭代,条 ...

  3. Java中对图片文件的类型的获取

    public static void main(String[] args) {        File f = new File("c://test.jpg");         ...

  4. JAVA基础知识总结:三

    一.Java语句的执行结构 1.顺序语句 按照顺序从上往下依次执行的语句,中间没有任何的判断和跳转 2.分支语句 根据不同的条件来产生不同的分支 if语句.switch语句 3.循环语句 重复执行某句 ...

  5. 初学者易上手的SSH-hibernate03 三大状态与缓存

    这章主要来浅的学习下hibernate三大状态与缓存.首先来看下三大状态: 如上图,三大状态分别为临时状态(Transient),持久化状态(Persistent),游离状态(Detached).那么 ...

  6. Kotlin——最详细的接口使用、介绍

    在Kotlin中,接口(Interface)的使用和Java中的使用方式是有很大的区别.不管是接口中的属性定义,方法等.但是定义方式还是相同的. 目录 一.接口的声明 1.接口的声明 关键字:inte ...

  7. 一起来学linux:NFS服务器搭建

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } nfs是network file system的缩写,作用在于让不同的网络,不同的机 ...

  8. 我的第一个python web开发框架(15)——公司介绍编辑功能

    完成登录以后,就会进入后台管理系统的主界面,因为这个是小项目,所以导航菜单全部固化在HTML中,不能修改.一般后台还会有一个欢迎页或关键数据展示的主页面,小项目也没有多大的必要,所以登录后直接进入公司 ...

  9. DNS主从服务部署

    (1)节点信息 console01 主DNS 192.168.80.3 192.168.10.3 console02 从DNS 192.168.80.4 192.168.10.4 (2)环境部署 # ...

  10. POJ1222EXTENDED LIGHTS OUT(高斯消元)

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 11815   Accepted: 7 ...