已经有一段时间没有发布博文了...

今天就写一写lambda的一些简单的使用方法

Lambda 在Msdn 上的描述:

Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数。 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。 Lambda 表达式对于编写 LINQ 查询表达式特别有用。

若要创建 Lambda 表达式,需要在 Lambda 运算符 => 左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。 例如,lambda 表达式 x => x * x 指定名为 x 的参数并返回 x 的平方值。

其实Lambda中是使用委托,下面可以写一个Demo 来验证它是如何使用的

下面是写的测试代码

        static D d;static D2 d2;static D3 d3;static void Main(string[] args){int j = 0;//使用委托的方式d = () => { j = 10; return j > 3; };d2 = (x) => { return x == j; };d3 = (x) => { x += 1; };//LambdaFunc<bool> fd = () => { j = 10; return j > 3; };Func<int, bool> fd2 = (x) => { return x == j; };Action<int> fd3 = (x) => { x += 1; };} }

  

通过反编译之后的源码:

从源码看得出Lambda表达式的实质上是以委托的形式传递的

要注意的一点:

  • Action<T1, …, T16> 可以接收1个到16个参数的无返回值泛型委托
  • Func<T1, …, T16, Tout> 可以接收0到16个参数并且有返回值的泛型委托

就写到这吧,或许讲述的不到位。如果有不妥,还请指正。谢谢支持。

转载于:https://www.cnblogs.com/jhy55/p/4848991.html

Lambda 表达式浅谈- 01相关推荐

  1. 浅谈λ演算与Python的lambda函数

    快速浏览 浅谈λ演算与Python中的lambda函数 λ演算 初识λ演算 λ演算的句法结构 两个特征 写lambda项的三个(递归的)规则 等价变换lambda项的三个法则 α-等价 β-归约 η- ...

  2. CoreJava 笔记总结-第六章 接口、lambda表达式与内部类

    文章目录 第六章 接口.lambda表达式与内部类 ==接口== 接口的概念 接口的属性 接口与抽象类 静态和私有方法 默认方法 解决默认方法冲突 接口与回调 `Comparator`接口 对象克隆 ...

  3. 浅谈lambda表达式最通俗易懂的讲解

    来自:开源中国(作者:青衣霓裳) 原文链接: https://my.oschina.net/u/4006148/blog/3078359 Java8发布已经有一段时间了,这次发布的改动比较大,很多人将 ...

  4. 浅谈Java8之lambda表达式

    1.首先我们看一个通常喜欢写的一个示例 new Thread(new Runnable() {@Overridepublic void run() {System.out.println(" ...

  5. 浅谈Java行为参数化和Lambda表达式

    案例分析 在软件工程中,一个众所周知的问题就是,不管你做什么,用户的需求肯定会变.比方说,有个应用程序是帮助农民了解自己的库存的.这位农民可能想有一个查找库存中所有绿色苹果的功能.但到了第二天,他可能 ...

  6. 一起谈.NET技术,从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势...

    在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...

  7. 255.0.0.0子网掩码相应的cidr前缀表示法是?_【洛谷日报#246】浅谈表达式的求值(Vol.2 进阶)...

    Warning 在观看本博客之前,请保证自己理解了表达式的三种表达方式. 本文旨在让大家更深层次的了解表达式,基础的知识就是上方的链接中所写的.所以,在了解后缀表达式的运算原理之后,我将不会讲述类似的 ...

  8. 从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势

    在上一篇文章中我们简单探讨了.NET 1.x和.NET 2.0中委托表现形式的变化,以及.NET 2.0中匿名方法的优势.目的及注意事项.那么现在我们来谈一下.NET 3.5(C# 3.0)中,委托的 ...

  9. laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

    浅谈laytpl 模板空值显示null的解决方法及简单的js表达式 laytpl 模板语法 {{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示nu ...

最新文章

  1. k8s v1.9.6 超详细搭建步骤
  2. 多表拆解 | 数据PM的工作内容
  3. kubesphere发布应用到应用商店完整步骤
  4. php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉
  5. centos java jdk_Centos安装JDK(java环境)
  6. 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
  7. python计算空类型_python的变量 类型和存储
  8. 聚集索引与非聚集索引及其查询效率【转载】
  9. mongodb处理库 php_MongoDB数据库常用操作PHP代码
  10. elasticsearch设置_search的size
  11. 黑马python培训全套视频
  12. 磁盘分区怎么恢复回去?易我分区大师恢复丢失分区
  13. ITEXT PDF文件的拆分与合并
  14. 精灵的移动效果,旋转效果
  15. OPENCV study
  16. python exception in thread_这个是什么原因,请问怎么处理Exception in thr
  17. 30岁运营设备10w+的工程师思考设备运营还能做什么?
  18. 如何写好日记?让写日记工具助你写出精彩
  19. UltraEdit-32 v13.10+4 官方中文版
  20. G20线上视频会议,各国直播间场景

热门文章

  1. 委托和事件[delegate and event]_C#
  2. js 数组的属性及其常用的方法
  3. LeetCode(999)——车的可用捕获量(JavaScript)
  4. mybatis 存储过程 tmp_count_MyBatis从入门到精通
  5. 没有逾期过借呗为什么被关了?
  6. 50岁,投资理财方面接触较少,手上有280万,该如何操作?
  7. 在生意不好做的情况下, 你会选择坚持,还是去重新找一个新行业?
  8. 社区生鲜招团长,物业优势何以难施展?
  9. 为啥Redis/Mongo这么快,就不能直接替代mysql吗?
  10. But don‘t be fooled, this phone does not