匿名委託
的叫法並不準確,準確的應該叫做匿名方法。
要將代碼塊傳遞為委託參數,創建匿名方法則是唯一的方法。
通過使用匿名方法,由於您不必創建單獨的方法,因此減少了實例化委託所需的編碼系統開銷。
示例:
不使用匿名方法:
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();
}