C 委託,匿名方法以及Lambda表示式

2021-08-20 23:57:46 字數 821 閱讀 3566

參考自

實質為引用方法的物件,所以引數需要與所引用方法的引數一致;

//委託型別

delegate int calculator(int x, int y);

//建立委託物件

calculator add = calculator(adding);

//使用該委託物件

console.writeline("",add(1,2)); //輸出3

//委託引用方法

public static int adding(int x,int y) return x + y;

與委託結合使用;

//委託型別

delegate int calculator(int x, int y);

//建立匿名方法

calculator adding =delegate( int x, int y)

//使用

console.writeline("",adding(1,2));//輸出3

(引數)=>具體方法塊, ( x , y ) => x + y  等效於 fun(x,y) return x+y ;

//委託型別

delegate int calculator(int x, int y);

//lambda表示式

calculator add = (x, y) => x + y;

//使用

console.writeline("", add(1, 2));//輸出3

lambda 委託 匿名方法

委託 delegate是c 中的一種型別,它實際上是乙個能夠持有對某個方法的引用的類。與其它的類不同,delegate類能夠擁有乙個簽名 signature 並且它只能持有與它的簽名相匹配的方法的引用。它所實現的功能與c c 中的函式指標十分相似。它允許你傳遞乙個類a的方法m給另乙個類b的物件,使得...

C 傳統的委託 匿名方法 Lambda對比

using system using system.collections.generic using system.linq using system.text namespace lambdademo 傳統的呼叫委託的示例 static void findlistdelegate predica...

c 之委託 匿名方法 Lambda表示式

委託 實際上是一種資料型別。委託資料型別的定義 delegate ret type delegate name param type param name,宣告委託變數 delegate name variable name 例項化委託變數 ret type function name param ...