匿名函数

定义:没有名字的函数
匿名函数的使用主要是配合委托和事件进行使用,脱离委托和事件,不会使用匿名函数。
语句:
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()();
匿名函数的缺点:
添加到委托或事件容器中后 不记录 无法单独移除。
因为匿名函数没有名字 所以没有办法指定移除某一个匿名函数。
此匿名函数 非彼匿名函数 不能通过看逻辑是否一样 就证明是一个 。