匿名函式 委託 lambda表示式 擴充套件方法

2022-09-11 00:36:41 字數 1040 閱讀 7831

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace 匿名函式與lambda

;somedelegate f = delegate(string s)

;f("zhangfeng");

//lambda表示式,簡化操作,初看很恐怖,多用於和linq混合使用

somedelegate f1 = (s1) =>

;f1("lambda");

//lambda表示式+linq示例

int values = ;

foreach (int i in values.select(i => i * 2))

//擴充套件方法  .net 3.5版本新加的,早期版本用不了,linq是用擴充套件方法實現的

string str1 = "[email protected]";

//擴充套件方法的呼叫,呼叫擴充套件方法,第乙個引數 其實是.前面的物件

console.writeline(str1.isemail());

//跟擴充套件方法比較,普通呼叫

console.writeline(stringhelper.isemail(str1));

//擴充套件方法過載,第二個引數照實寫

console.writeline(str1.isemail("sv"));

console.read();

}static string sayhello()

}//實現擴充套件方法,定義類前面要加static

static class stringhelper

return false;

}public static bool isemail(this string s,string v)

return false;}}

delegate void somedelegate(string s);

delegate string somedelegate1();

}

匿名委託Lambda表示式

2種形式都是宣告委託的形式 2.0以前 c 命名方法是宣告委託的唯一方法 c 2.0 之後引入匿名方法 c 3.0以及更高版本中 使用lambda表示式 取代了匿名方法 作為編寫內聯 的首選方式 匿名方法 delegate void anonymity int x anonymity m anony...

匿名函式 委託和Lambda表示式

其中匿名的函式簽名可以包括兩種,一種是隱式的匿名函式簽名另一種是顯式的匿名函式簽名 隱式的函式簽名 p p1,p1 顯式的函式簽名 int p int p1,int p2 ref int p1,out int p2 匿名的函式體可以是表示式或者 塊。從上面我們可以看出,lambda表示式的引數形式可...

匿名委託與Lambda表示式

通過使用匿名委託 匿名方法 使程式設計變得更加靈活,有關委託與匿名委託請參考我的前一篇blog 委託與匿名委託 繼續之前示例,如下 static void main string args worker worker new worker int result worker.handletwonum...