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

委托:对方法的封装

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-委托-匿名方法

上一篇:C# HttpWebRequest 添加Cookie验证


下一篇:Windows 配置时间同步服务器以及配置时间同步间隔