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