匿名方法與Lambda表示式

2021-09-12 13:42:31 字數 1003 閱讀 9234

匿名方法的概念:這個方法沒有具體的名稱,而只有委託關鍵字、方法引數、方法體,所以稱為匿名方法,匿名方法允許將**塊通過委託變數作為引數傳遞,以代替單獨定義的方法。

首先宣告乙個委託:

public delegate int calculatordelegate(int a, int b);

然後使用匿名方法:

calculatordelegate objcal = delegate (int a, int b)

;int result = objcal(10, 40);

console.writeline(result );

輸出結果:50

c#3.0 引入了lambda表示式,利用它們可以更簡練地編寫**塊。lambda表示式:(引數列表)=> goes to.

首先定義乙個委託:

public delegate int calculatordelegate(int a, int b);

第一種lambda表示式方法:calculatordelegate objcal = (int a, int b) => ;

更簡化的方法:calculatordelegate objcal = (a,b) => ;

int result = objcal(10,20);

console.writeline(result );

輸出結果為:30

例項二:

public delegate int mathone(int a);

mathone objmath=a=>a*a;

int result=objmath(10);

輸出result結果為:100

說明:引數列表中的引數型別可以是「明確」型別或者是「推斷」型別,如果是推斷型別,則引數的資料型別將由編譯器根據上下文自動推斷出來。lambda表示式本身就是匿名方法,lambda表示式的引數允許不指名引數型別,而匿名方法的引數必須明確指明引數型別,lambda表示式方法體允許由單一表示式或者多條語句組成,而匿名方法不允許單一表示式形式。

匿名方法與lambda表示式

匿名方法,從字面上理解即是沒有名字的的方法。用delegate關鍵字進行宣告且只能賦值給乙個委託 for example1 static void main string args ps 經常用作 從c 3.0後又開始使用lambda表示式來代替匿名函式,只要在有委託引數型別的地方就可以使用lamb...

Lambda表示式 匿名方法 委託

lambda表示式 匿名方法 委託 16 9 2017 代替匿名方法的簡單演示 using system using system.collections.generic using system.linq using system.text using system.threading.tasks...

匿名方法和Lambda表示式

出於mvvm學習的需要,複習下匿名方法和lambda表示式,因為之前用的也比較少,所以用的也不是很熟練,baidu下相關的知識,寫了這個demo,目標是用簡單的方法展示這個怎麼用。這裡偏重的和linq中的lambda表示式 var fileslookup files.tolookup f f.sub...