public delegate void consolewritestr(string name,datetime now);
public delegate int delegateadd(int x, int y);
//第一步 使用匿名函式
consolewritestr cws1= new consolewritestr(
delegate(string name, datetime now),我喜歡學習", name, now);});
//第二步將delegate換成=> , =>的左邊是引數列表,右邊是函式體
consolewritestr cws2 = (string name, datetime now) => ,我喜歡學習", name, now); };
//第三步去掉操作型別,原因是委託要求與方法簽名一致
consolewritestr cws3 = ( name, now) => ,我喜歡學習", name, now); };
//第三步去掉方法體的大括號,如果方法體只有一行,可以將大括號去掉
consolewritestr cws4 = (name, now) => console.writeline("我叫,我喜歡學習", name, now);
delegateadd func = (x, y) => ;
delegateadd func1 = (x, y) => x + y;
//系統自帶的委託action,該委託不帶返回值
action ac1 = () => ; //無引數無返回值
actionac2 = x =>; //泛型委託 乙個引數可以去掉小括號
actionac3 = x => ; //泛型委託
actionac4 = (x, y, z, a) => ; //泛型委託
//系統自帶的委託func,該委託帶有返回值,最多16個引數,最後乙個引數為返回值
funcfun1 = () => " ";
funcfun2 = () => datetime.now;
funcfun3 = (s,l, d) => ;
委託 lambda表示式
呼叫委託的的時候,其包含的每乙個方法都會被執行。委託要求,定義的簽名和返回型別必須一致。建立委託需要注意的地方 因為大部分的委託需要重用,而事件不用,所以前者寫在類外邊,後者寫在類裡邊。一般委託寫在類的外邊,並且用public宣告。委託只有乙個規矩,就是輸入輸出一樣就行,那他屬於乙個委託,你可以把它...
委託 lambda表示式
呼叫委託的的時候,其包含的每乙個方法都會被執行。委託要求,定義的簽名和返回型別必須一致。建立委託需要注意的地方 因為大部分的委託需要重用,而事件不用,所以前者寫在類外邊,後者寫在類裡邊。一般委託寫在類的外邊,並且用public宣告。委託只有乙個規矩,就是輸入輸出一樣就行,那他屬於乙個委託,你可以把它...
lambda表示式的推導
學習多執行緒過程中解除到lambda表示式,現在總結一下。為什麼使用lambda表示式 函式式介面 任何介面,如果只包含乙個抽象方法,那麼它就是乙個函式式介面直接上 感受各種類 package com.laoongcai.gitxuexi.lambda author chen description...