Lambda表达式【转】
lambda表达式是对匿名方法的一种改进,具有更加简洁的语法和更易理解的形式,lambda表达式可以包括表达式和语句,并且可以用与创建委托或表达式目录树类型。
lambda表达式都使用Lambda运算符=>,读作goes to。该Lambda运算符的左边是输入参数,右边包含表达式或者语句块。
Lambda表达式的声明:(参数列表)=>{方法体}
其中的参数列表和普通方法的参数列表相同,Lambda表达式是升级版的匿名方法,如下面语法所示:
返回类型 方法名(参数){方法体} //普通方法 delegate (参数列表) {方法体} //匿名方法 (参数列表)=>{方法体} //
下面举个例子:
//求两个整数最大值(int x,int y)=>{return x>y?x:y;}//决断一个字符串是否是数字(string text)=>{double d;return double.TryParse(text,out d);}//输入hello world()=>{Console.WriteLine("hello world");}
特别需要指出的是如果lambda表达式没有参数,则参数为空,但必须要圆括号。
下面看一下lambda表达式的更简洁语法:
(1)如果lambda表达式的参数类型是可以通过上下午推断时,参数列表外面的圆括号也可以省略,如下代码所示
(x,y)=>{return x>y?x:y;}
(2)若果lambda表达式只有一个参数且参数类型被省略,则参数列表外面的圆括号也可以省略,如下代码
x=>{return x++;}
(3)如果lambda语句的方法体只有一条return语句,且return语句有返回类型,则return关键字、分号、大括号都可以省略,此时lambda表达式的方法体只剩下一个表达式,如下例子,
(x,y)=>x>y?x:y; //(x,y)=>{retrun x>y?x:y;} x=>x++; //x=>{retrun x++;}
举例说明lambda表达式的应用:
输出的结果是:
转自http://www.cnblogs.com/flykai/p/3235827.html
转载于:https://www.cnblogs.com/zbo/p/3236074.html
Lambda表达式【转】相关推荐
- Lambda 表达式基础理论与示例
Lambda 表达式基础理论与示例 Lambda 表达式,也可称为闭包,推动 Java 8 发布的最重要新特性. Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中). 使用 Lam ...
- lambda表达式树
一.定义: 表达式树又称为表达式目录树,以数据形式表示语言级代码.所有的数据都存储在树结构中,每个结点表示一个表达式(Expression). 二.要点: –Lambda表达式的参数类型可以忽略,因为 ...
- java 8 lambda reduce_JDK8新特性Lambda表达式体验
"Lambda 表达式"(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstra ...
- java saf_Java 8 Lambda表达式探险
为什么? 我们为什么需要Lambda表达式 主要有三个原因: > 更加紧凑的代码 比如Java中现有的匿名内部类以及监听器(listeners)和事件处理器(handlers)都显得很冗长 &g ...
- lamda表达式python_Python--13 lambda表达式
python 允许使用lambda表达式来创建匿名函数 lambda表达式 >>>def ds(x): ... return 2 * x +1 ... >>> ds ...
- C++11:Lambda表达式(匿名函数)理解
C++在C11标准中引入了匿名函数,即没有名字的临时函数,又称之为lambda表达式.lambda表达式 实质上是创建一个匿名函数/对象.即你可以理解为(Lambda 表达式实际上是一个函数,只是它没 ...
- java8 lambda 表达式详解
lambada 表达式实质上是一个匿名方法,但该方法并非独立执行,而是用于实现由函数式接口定义的唯一抽象方法 使用 lambda 表达式时,会创建实现了函数式接口的一个匿名类实例 可以将 lambda ...
- Java8中Lambda表达式的10个例子
Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 Java代码 //Before Java 8: new Thread(new Runnable() ...
- 【读书笔记】Lambda表达式
Lambda表达式,是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型. Lambda表达式, 都是用"=>"运算符. 读作"goes t ...
- 【C++】lambda 表达式
1.lambda 表达式 1.1 lambda 特点 lambda表示一个可调用单元,可视为内联函数 范式 : 具有一个返回类型,一个参数列表,一个函数体 [captrue list](paramet ...
最新文章
- 阿里巴巴的持久层抛弃了hibernate,采用的却是MyBatis框架。。。
- 智源x清华开源FastMoE,万亿AI模型基石
- Selenium启动Chrome浏览器提示“请停用以开发者模式运行的扩展程序”的解决办法
- python判断实例的类型
- 哈尔滨工业大学计算机学院官网,哈尔滨工业大学计算机学院 唐好选 tanghx@hope.hit...
- 视觉SLAM笔记(7) 欧氏变换
- 如何测量太阳距离地球的距离
- 【Unity3D自学记录】Unity3D网络之Socket聊天室初探
- 三星全新贴片机SM421(S)参数性能!
- C++SOCKET面试题附答案
- 2、传输介质——双绞线
- CentOS 7.3安装详解
- AOP切面之实现计算器加减乘除--基于注解的方式
- 【kuangbin】简单搜索 - 13.非常可乐【BFS】
- 计算机应用基础文章 茶的功效,【课程改革论文】茶文化下的计算机应用基础教程课程改革(共5535字)...
- (数字IC)低功耗设计入门(七)——门级电路低功耗设计优化(续)
- python中常用英语口语_常用英语口语100句(超实用)_
- 南加州大学计算机科学案例,南加州大学计算机科学录取案例
- 边际生产力理论(转载)
- 币圈“黑天鹅“事件,USDT完美演绎不可能事件