博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lambda表达式
阅读量:4552 次
发布时间:2019-06-08

本文共 1071 字,大约阅读时间需要 3 分钟。

  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表达式的应用:

输出的结果是:

 

初来乍到,结交爱好技术的好友交流分享。

转载于:https://www.cnblogs.com/flykai/p/3235827.html

你可能感兴趣的文章
服务器发送邮件出现Could not connect to SMTP host错误 解决办法
查看>>
sklearn.preprocessing.LabelBinarizer
查看>>
C teaching
查看>>
分隔指定内容,提取章节数
查看>>
this point
查看>>
leetcode 30 Substring with Concatenation of All Words
查看>>
验证登录信息是否合法
查看>>
线程池
查看>>
git版本控制器的基本使用
查看>>
Redis 笔记与总结4 set 和 zset 类型
查看>>
jQuery Ajax 回调函数中调用$(this)的问题 [ 转 ]
查看>>
thymeleaf:字符串拼接+输出单引号
查看>>
springboot:集成fastjson(教训)
查看>>
网络流 Edmons-Karp 算法讲解
查看>>
「NOIP2018模拟9.10」公约数 - 找规律 - gcd
查看>>
使用java理解程序逻辑(15)
查看>>
bzoj 1879 状压dp
查看>>
python 一些特殊用法和坑
查看>>
WIFI密码破解全攻略
查看>>
c++string各种函数
查看>>