JavaScript Closure
function f1(){
var n=999;
return function(){
alert(n); // 999
return n;
}
}
var a =f1();
alert(a());
C# Closure
static void Main(string[] args)
{
var a = new TClosure();
var b = a.T1();
Console.WriteLine(b());
}
public class TClosure
{
public Func<int> T1()
{
var n = 999;
return () =>
{
Console.WriteLine(n);
return n;
};
}
}
Print out: 999
999