首页 > Windows开发 > 详细

C#进阶-Lambda-委托-匿名方法

时间:2020-09-27 21:59:17      阅读:37      评论:0      收藏:0      [点我收藏+]

委托:对方法的封装

public delegate void Caculate(int a ,int b); --公开的委托,返回类型为void的Caculate(委托名:定义方法类型)的方法,且接受2个int参数;

public void Add(int a,int b)

{

   a+=b;

}

Caculate add=Add;

add(2,3);

特点:

1,委托是一种特殊的类型,代表着对方法的引用

2,委托变量可以像方法一样使用

3,委托也需要像类(位置平级)/方法(参数与返回值)一样设置

匿名方法与Lambda:

public delegate int Caculate(int a,int b);

//去掉delegate,并在参数后加=>,=>a+b表示:=>{return a+b}

Caculate methoud=delegate(int a,int b)=> a+b;   --方法体内只有一行代码,才能简写,否则=>{代码内容全写};

methoud(2,3);

Lambda委托定义:

//有返回值和参数:

Func<int,int> methoud=(int a)=>a+=3;   --Func<int,int(只有最后一个参数为返回值类型,其余为输入参数类型)>

methoud(2);                --运行结果为5;

//没有返回值,也没有参数

Action action=()=>Consol.WriteLine("今天晴天");   --就算没有输入参数,也要空的括号;

action;                      --没有返回值,所以显示System.Action

 

C#进阶-Lambda-委托-匿名方法

原文:https://www.cnblogs.com/-GoFurther/p/13741051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!