作用域包含匿名方法的區域變數、值參數、參數陣列;實例方法的 this 亦屬之。
被引用即被捕獲,生命期延長至委托可被 GC 為止。
static D F()
{
int x = 0;
D result = delegate { return ++x; };
return result;
}
static void Main()
{
D d = F();
Console.WriteLine(d()); // 1
Console.WriteLine(d()); // 2
Console.WriteLine(d()); // 3
}
所有呼叫操作同一 x 實例,形成閉包效果。