Lambda表达式
来源:互联网 发布:js 高级编程视频教程 编辑:程序博客网 时间:2024/05/30 23:04
lambda表达式是对匿名方法的一种改进,具有更加简洁的语法和更易理解的形式,lambda表达式可以包括表达式和语句,并且可以用与创建委托或表达式目录树类型。
lambda表达式都使用Lambda运算符=>,读作goes to。该Lambda运算符的左边是输入参数,右边包含表达式或者语句块。
Lambda表达式的声明:(参数列表)=>{方法体}
其中的参数列表和普通方法的参数列表相同,Lambda表达式是升级版的匿名方法,如下面语法所示:
1、返回类型 方法名(参数){方法体} //普通方法2、delegate (参数列表) {方法体} //匿名方法3、(参数列表)=>{方法体} //Lambda
下面举个例子:
//求两个整数最大值 (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表达式的应用:
输出的结果是:
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- Lambda 表达式
- Lambda 表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Java基础--static、this、super用法
- JDK的安装与配置
- poj 1142 Smith Numbers
- 项目报错二
- 减少和发现未知的bug: 方案征集
- Lambda表达式
- JAVA 的checked异常和unchecked异常
- MFC Dialog 加载CView视图 报Assert断点中断
- 实用Android开发工具和资源精选
- JDK1.6安装详解、环境变量设置、测试安装及注意事项
- 写给TI 6000系列DSP初学者(原创)
- hdu1498 50 years, 50 colors (最小点覆盖)
- OpenCV的RobustMatch匹配算法
- POJ 2135 - Farm Tour 无向图的最小费用最大流加边时注意..要分两次加.不能一次完成..