-Lambda表达式
来源:互联网 发布:淘宝账号会不会黑设备 编辑:程序博客网 时间:2024/06/07 00:07
(1)源起
.net的设计者发现在使用匿名方法时,
仍旧有一些多余的字母或单词的编码工作
比如delegate关键字
于是进一步简化了匿名方法的写法
(2)使用
List<int> arr = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };
arr.ForEach(new Action<int>(delegate(int a) {Console.WriteLine(a); }));
arr.ForEach(new Action<int>(a => Console.WriteLine(a)));
? 匿名方法的代码如下:
delegate(int a) { Console.WriteLine(a); }
使用lambda表达式的代码如下:
a => Console.WriteLine(a)
这里解释一下这个lambda表达式
<1>
a是输入参数,编译器可以自动推断出它是什么类型的,
如果没有输入参数,可以写成这样:
() => Console.WriteLine("ddd")
<2>
=>是lambda操作符
<3>
Console.WriteLine(a)是要执行的语句。
如果是多条语句的话,可以用{}包起来。
如果需要返回值的话,可以直接写return语句
- Lambda Expressions(Lambda表达式)
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- lambda表达式
- lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- Lambda表达式
- Lambda 表达式
- Lambda 表达式
- Lambda表达式
- Lambda表达式
- Lambda 表达式
- MD5加密
- 启动一个线程是用run()还是start()?
- 合并果子
- Android Studio插件整理
- Ubuntu 16.04下禁止MySQL 5.7自动启动
- -Lambda表达式
- 视频编解码学习之一:理论基础
- 【cqbzoj1526】 分梨子 乱搞(不是dp) 解题报告 c++
- Js放大镜
- 封装如何使用
- .net设计模式之单例模式
- 解决android在启动闪屏页面前会出现短暂的白屏或黑屏状态
- Android 操作SQLite基本用法
- 关于JSP中setProperty动作元素