匿名函數(shù)

定義:沒(méi)有名字的函數(shù)
匿名函數(shù)的使用主要是配合委托和事件進(jìn)行使用,脫離委托和事件,不會(huì)使用匿名函數(shù)。
語(yǔ)句:
delegate (參數(shù)列表)
{
函數(shù)邏輯
};
何時(shí)使用:
函數(shù)中傳遞委托參數(shù)時(shí)。
委托或事件賦值時(shí)。
使用:
無(wú)參無(wú)返回:
這樣申明匿名函數(shù)只是在申明函數(shù)而已,還沒(méi)有調(diào)用,真正調(diào)用它的時(shí)候,是這個(gè)委托容器啥時(shí)候調(diào)用,就什么時(shí)候調(diào)用這個(gè)匿名函數(shù)。
Action a = delegate (){};
有參:
Action<int, string> b = delegate (int a, string b){};
有返回值:
Func<string> c = delegate (){};
一般情況會(huì)作為函數(shù)參數(shù)傳遞,或者作為函數(shù)返回值:
Test t = new Test();
Action ac = delegate (){};
t.Dosomthing(50, ac);
一步到位,直接調(diào)用返回的委托函數(shù):
t.GetFun()();
匿名函數(shù)的缺點(diǎn):
添加到委托或事件容器中后 不記錄 無(wú)法單獨(dú)移除。
因?yàn)槟涿瘮?shù)沒(méi)有名字 所以沒(méi)有辦法指定移除某一個(gè)匿名函數(shù)。
此匿名函數(shù) 非彼匿名函數(shù) 不能通過(guò)看邏輯是否一樣 就證明是一個(gè) 。