C# 匿名方法和Lambda表达式
来源:互联网 发布:mpu6050单片机电路图 编辑:程序博客网 时间:2024/05/01 17:26
匿名方法
static int Test1(int arg1,int arg2) { return arg1 + arg2; } static void Main(string[] args) { // Func<int, int, int> plus = Test1;//这是正常使用委托的方式Func<int, int, int> plus = delegate (int arg1, int arg2)//转换成匿名方法形式{ return arg1 + arg2;};}
匿名方法即没有名字的方法,关键字是delegate
匿名方法只能将方法赋值给委托,通过委托调用该方法
匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法
赋值
Lambda表达式
Lambda表达式是匿名方法的简写形式,用来代替匿名方法
static void Main(string[] args) { // Func<int, int, int> plus = Test1;//这是正常使用委托的方式 Func<int, int, int> plus = ( arg1,arg2)=>//换成Lambda表达式形式 { return arg1 + arg2; }; Console.WriteLine(plus(12, 45)); Console.ReadKey();}
Lambda表达式是不需要声明类型的
Lambda表达式表示的参数如果只有一个,可以不加小括号,当函数体的语句只有一句时,
可以不加大括号,也可以不加Return
static void Main(string[] args) { Func<int, int> test2 = a => a+1;//简写形式 Func<int, int> test3 = (a) =>//普通形式 { return a + 1; }; Console.WriteLine(test2(22)); Console.ReadKey(); }
1、如果Lambda表达式只有一条语句,在方法体中就不需要大括号和return语句,编译器
会自动添加return语句
2、如果Lambda表达式的实现代码中需要多条语句,就必须添加大括号和return语句
阅读全文
1 0
- C# 匿名方法和Lambda表达式
- C#匿名方法和Lambda表达式
- C# 匿名方法和Lambda表达式
- 匿名方法和Lambda表达式
- 匿名方法和Lambda表达式
- 匿名方法和lambda表达式
- C#委托,匿名方法和Lambda表达式(译)
- C#学习笔记-匿名方法和lambda表达式
- C#委托,匿名方法和Lambda表达式(译)
- C#委托,匿名方法和Lambda表达式(译)
- C#中的委托,匿名方法和Lambda表达式
- C#的委托,匿名方法和Lambda表达式
- C#中的委托,匿名方法和Lambda表达式
- C#中的委托,匿名方法和Lambda表达式
- C#学习笔记18-匿名方法和Lambda表达式
- C#匿名方法和lambda
- c#之委托、匿名方法、Lambda表达式
- C# 委托用法、匿名方法、Lambda表达式
- Python--脚本自动发送邮件
- java容器,java框架
- Linux shell 处理文件是,注意换行符要换成Unix格式
- Linux学习笔记——Makefile教程
- ubuntu网络设置
- C# 匿名方法和Lambda表达式
- 个人站好做吗?
- servlet验证码生成
- 例题2-5
- Android——PageView轮播实现
- Adapter基础讲解-MVC模式的简单理解和Adapter概念解析
- Software Install for CentOS 7.3
- csdn如何转载别人的文章
- java连接不上hbase无异常信息