摘要: 我们知道,在匿名方法或者lambda中,可以访问或者修改该匿的定义范围内的变量。例如:int num = 1; Func<int> incNum = () => ++num;其中lambda表达式使用了在其外部定义的变量num。我们可以认为该段lambda语句块构成了一个闭包,而这个闭包捕获了外部变量num。好了,不说那么多让人看着难受的定义套话了。我们进入正题,看看在C#中变量是如何被捕获的。来看一个例子: public Func<String> CreateFunction() { String str = "我的幸运数字是"; int n 阅读全文
posted @ 2011-05-22 14:26 Roy Cheng 阅读(3758) 评论(6) 推荐(7) 编辑