Lambda表达式
来源:互联网 发布:白金数据电影网盘 编辑:程序博客网 时间:2024/06/05 02:36
Lambda表达式-表示一个方法的定义
从C#3.0开始,可以使用Lambda表达式代替匿名方法。只要有委托参数类型的地方就可以使用Lambda表达式。刚刚的例子可以修改为
Func<int,int,int>plus = (a,b)=>{ int temp= a+b;return temp; };
intres = plus(34,34);
Console.WriteLine(res);
Lambda运算符“=>”的左边列出了需要的参数,如果是一个参数可以直接写 a=>(参数名自己定义),如果多个参数就使用括号括起来,参数之间以,间隔
多行语句1,如果Lambda表达式只有一条语句,在方法快内就不需要花括号和return语句,编译器会自动添加return语句
Func<double,double> square = x=>x*x;
添加花括号,return语句和分号是完全合法的
Func<double,double> square = x=>{
return x*x;
}
2,如果Lambda表达式的实现代码中需要多条语句,就必须添加花括号和return语句。
Lambda表达式外部的变量通过Lambda表达式可以访问Lambda表达式块外部的变量。这是一个非常好的功能,但如果不能正确使用,也会非常危险。示例:
intsomVal = 5;
Func<int,int>f = x=>x+somVal;
Console.WriteLine(f(3));//8
somVal= 7;
Console.WriteLine(f(3));//10
这个方法的结果,不但受到参数的控制,还受到somVal变量的控制,结果不可控,容易出现编程问题,用的时候要谨慎。
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- Lambda 表达式
- Lambda 表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- 使用XStream实现Java对象与XML之间的快速互转
- 二维高斯曲面拟合法求取光斑中心及算法的C++实现
- orbslam2的基础理论(一)
- 请求微信api(支持代理)
- Oracle(1)安装及账户解锁
- Lambda表达式
- Repo的理解及用法小结(1)
- kafka-topics.sh --describe 说端口被占用了。
- AWS踩坑指南
- easyui中checkbox全选全不选的时不处理最后一行的实现
- 杭电 1087 Super Jumping! Jumping! Jumping!
- Android捕获 ListView 每一个item的点击事件
- 1027. 打印沙漏(20)
- iOS防重复点击的几种方法