匿名委託

在 2.0 之前的 C# 版本中,聲明委託的唯一方法是使用命名方法。C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表達式取代了匿名方法,作為編寫內聯代碼的首選方式。

匿名委託

的叫法並不準確,準確的應該叫做匿名方法。

要將代碼塊傳遞為委託參數,創建匿名方法則是唯一的方法。

通過使用匿名方法,由於您不必創建單獨的方法,因此減少了實例化委託所需的編碼系統開銷。

示例:

不使用匿名方法:

static void Main(string[] args)

{

Thread thread = new Thread(new ThreadStart(Run));

// 或 Thread thread = new Thread(Run); // c# 2.0 或以後版本支持

thread.Start();

}

static void Run()

{

// 要運行的代碼 ...

}

使用匿名方法:

static void Main(string[] args)

{

Thread thread = new Thread(delegate()

{

// 要運行的代碼

});

// 或 Thread thread = new Thread(new ThreadStart(delegate()

//{

// // 要運行的代碼

//}));

thread.Start();

}

使用Lambda 表達式:

static void Main(string[] args)

{

Thread thread = new Thread(() =>

{

// 要運行的代碼

});

// 或 Thread thread = new Thread(new ThreadStart(() =>

//{

// // 要運行的代碼

//}));

thread.Start();

}

相關詞條

熱門詞條

聯絡我們