捕获变量的语义

有人可以在以下两种情况下解释捕获变量的语义

(1)仅捕获实例和静态(类)字段(但不是局部变量或参数)的匿名方法(lambda表达式),以及

(2)捕获局部变量和参数以及可能的实例和静态字段的匿名方法。

另外,关闭和捕获变量之间的关系是什么?


闭包是一个对象(通常),其中包含lambda使用的所有捕获的变量。

如果lambda使用实例字段,它实际上隐式捕获this实例,然后访问它的成员。

如果它只使用静态字段,它根本就没有关闭; 无需上下文即可访问静态字段。

链接地址: http://www.djcxy.com/p/51549.html

上一篇: Semantics of Captured Variables

下一篇: C# Lambda performance issues/possibilities/guidelines