欢迎光临散文网 会员登陆 & 注册

匿名函数

2023-03-31 10:53 作者:北星Knight  | 我要投稿

定义:没有名字的函数

匿名函数的使用主要是配合委托和事件进行使用,脱离委托和事件,不会使用匿名函数。


语句:

delegate (参数列表)

{

函数逻辑

};


何时使用:

函数中传递委托参数时。

委托或事件赋值时。


使用:

无参无返回:

这样申明匿名函数只是在申明函数而已,还没有调用,真正调用它的时候,是这个委托容器啥时候调用,就什么时候调用这个匿名函数。

Action a = delegate (){};


有参:

Action<int, string> b = delegate (int a, string b){};


有返回值:

Func<string> c = delegate (){};


一般情况会作为函数参数传递,或者作为函数返回值:

Test t = new Test();

Action ac = delegate (){};

t.Dosomthing(50, ac);


一步到位,直接调用返回的委托函数:

t.GetFun()();


匿名函数的缺点:

  • 添加到委托或事件容器中后 不记录 无法单独移除。

  • 因为匿名函数没有名字 所以没有办法指定移除某一个匿名函数。

  • 此匿名函数 非彼匿名函数 不能通过看逻辑是否一样 就证明是一个 。


匿名函数的评论 (共 条)

分享到微博请遵守国家法律