被問到閉包是什麼。之前彷佛不多接觸這個概念,補了下。閉包
看了這篇博客:What's in a closure.
ui
總結起來,宿主方法(parent method)體內部的匿名方法,能夠調用宿主方法體內的局部變量。緣由大概是該匿名方法綁定的是宿主方法方法體和其內部的變量。進一步推測,可能匿名方法指向了他的宿主方法的引用。spa
delegate void Action();
static void Main(string[] args)
{
int x = 0;
Action a = delegate { Console.WriteLine(x); };
x = 1;
a();
}
.net
上面的打印出來的是 「1」而不是「0」.get
猜想部分,等待之後再驗證。博客