下例演示了c#1.0到3.0委託的建立過程:
結果:public partial class delegate_default2 : system.web.ui.page; del();
//lambda表示式建立的委託
del = () =>
;del();
}static void w()
}public delegate void testdeleggate();
在c#1.0中,可以通過使用在**中其他位置定義的方法顯式初始化委託來建立委託的例項.
在c#2.0中,可以使用匿名方法的概念,在宣告委託的同時賦值給其**段,此**段即為乙個匿名方法
在c#3.0中,可以使用lambda表示式,這種表示式與匿名方法類似,更為簡練.
委託的發展 二
嗯 其實在c 1看來委託語法看起來似乎並不太壞 語言以圍繞delegate.combine,delegate.remove以及委託例項的呼叫提供了語法糖。表面上一切都在正常的軌道上,但是感覺不太對。很難確切的描述c 1的委託建立表示式為什麼會令人不快,但他們確實如此。在c 1中我們先寫好一連串事件處...
委託的發展 一
zzz這幾天一直在看委託,一直從1.0的委託看到了3.0的蘭姆達表示式與linq。寫個部落格記錄一下,雖然委託的多種用法都沒有研究透徹,以後慢慢研究吧 一提起委託,如果你是c程式設計師,肯定會想到 函式指標 這個術語.實際上委託在某種程度上提供了間接的方法。換言之,不需要直接指定乙個要執行的行為,而...
委託發展史 三
通過c 2極大的簡化了委託的使用。如果僅僅是為了簡化事件的訂閱以及增強可讀性,這些技術確實已經足夠了。但是,c 2中的委託仍然過於臃腫 一頁充滿匿名方法的 讀起來真讓人難受,你也肯定不願意經常在乙個語句中放入多個匿名方法吧。c 3可以說是乙個工業革命。從許多方面lambda表示式都可以看做是c 2的...