匿名方法

匿名方法

匿名方法是C#2.0引入的一個新特性,它允許開發者內聯(inline)聲明自己的函式代碼而無須使用委託函式(delegate function。匿名方法通常在1. 需要一個臨時方法,該方法使用次數極少;2. 這個方法的代碼很短,甚至可能比方法聲明都短的情況下使用。

基本介紹

  • 中文名:匿名方法
  • 屬性:C#2.0引入的一個新特性
  • 使用時間1:需要一個臨時方法
  • 使用時間2:這個方法的代碼很短
簡介,範例,

簡介

在C# 1.1里,聲明和使用委託要求你有委託和一個在委託被觸發時具有匹配簽名的能夠執行的方法,以及一個將命名方法與委託關聯的分配語句。作為C# 2.0的新特性,匿名方法基本上能夠提供與先前命名方法相同的功能,但是它已經不再需要一個在關聯到委託之前就明確創建的方法了。
你可以把C# 匿名方法想像為一個實現與委託進行關聯這項功能的便捷途徑。如果同時看一下匿名方法實現和命名方法實現所取得IL結果,你會發現這兩者之間的差別非常小。當編譯器碰到匿名方法的時候,它會在類裡面創建一個命名方法,並將它與委託進行關聯。所以匿名方法在運行期間與命名方法的性能非常類似——性能的增加體現在開發人員的生產效率上,而不是運行期間的執行上。
此外,C#3.0中提供了一個新特性--Lambda表達式,它提供了完成相同目標的更加簡潔的格式。

範例

利用delegate關鍵字創建匿名方法,如下:
button1.Click += delegate(System.Object o, System.EventArgs e)
{
System.Windows.Forms.MessageBox.Show("Click!");
};

相關詞條

熱門詞條

聯絡我們