委託的發展

2022-02-06 19:17:49 字數 554 閱讀 4028

下例演示了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的...