目录
闭包
内层的函数可以引用包含在它外层的函数的变量
即使外层函数的执行已经终止
注意:
该变量提供的值并非变量创建时的值,而是在父函数范围内的最终值。
class Program
{
public static void Main()
{
Test test = new Test();
test.DoSomeThing(); //输出10 20
test .DoSomeThing(); //输出20 30
这两次输出不同证明了事件中存的匿名函数中的vlue是存的成员变量value的地址
因为第一次test.doSomeTing();value地址中的值是10第二个匿名方法把value地址中的值改为了20
第二次执行事件中的两个匿名函数时,第一个匿名函数执行时value的值变为了20 所以输出20 第二个匿名函数value地址中存的值变为了30所以输出30
}
}
class Test
{
public event Action action;
public Test()
{
int value =