C#中的闭包
示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Closure
{
public delegate int f();
class Program
{
static void Main(string[] args)
{
f f = test();
Console.WriteLine("第一次调用i的值为:" + f.Invoke());
Console.WriteLine("第二次调用i的值为:" + f.Invoke());
Console.WriteLine("第三次调用i的值为:" + f.Invoke());
Console.ReadKey();
}
static f test()
{
int i = 0;
return () =>
{
i = i + 1;
return i;
};
}
}
}