C# Closure

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

 

 

posted @ 2013-11-13 06:13  MinieGoGo  阅读(245)  评论(0编辑  收藏  举报