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

2021-06-16 20:50:08 字數 929 閱讀 8568

委託:實際上是一種資料型別。

委託資料型別的定義:

delegate ret_type delegate_name(param_type param_name, ...);
宣告委託變數:

delegate_name variable_name;
例項化委託變數:

ret_type function_name(param_type param_name, ...);

variable_name = function_name;

variable_name = 

delegate(param_type param_name, ...) // 匿名方法例項化委託變數

系統定義的委託:action代表無返回型別的委託,func代表有返回型別的委託。

actionvariable_name;

funcvariable_name;

語句lambda:可以包含零條或多條語句。

variable_name = 

(param_type param_name, ...) =>

variable_name = 

(param_name, ...) =>

表示式lambda:只有乙個表示式,沒有語句塊。

variable_name = (param_type param_name, ...) => ret_value;
variable_name = (param_name, ...) => ret_value;

lambda 委託 匿名方法

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

C 委託之匿名方法和lambda表示式

在前面兩篇文章c 委託的基本概念和c action和func委託中,要使用委託,必須提前把方法寫好,但還有新的使用委託的方式,那就是匿名方法。使用匿名方法時,在例項化委託的時候將會有所不同 class program writeline anondel start of string func委託接...

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

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