委託之Lambda表示式的推導

2022-02-14 17:18:05 字數 1052 閱讀 6031

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...