xiacy

导航

5.5.6 共享和非共享的变量混合使用

MethodInvoker[] delegates = new MethodInvoker[2];
int outside = 0;
for(int i=0;i<2;i++)
{
    int inside = 0;
    delegates[i] = delegate
    {
        Console.WriteLine("【outside:{0},inside:{1}】", outside, inside);
        outside++;
        inside++;
    };
}

MethodInvoker first=delegates[0];
MethodInvoker second = delegates[1];

first();
first();
first();

second();
second();

输出结果为:

【outside:0,inside:0】

【outside:1,inside:1】

【outside:2,inside:2】

【outside:3,inside:0】

【outside:4,inside:1】

posted on 2012-05-06 12:36  xiacy  阅读(138)  评论(0编辑  收藏  举报