所述 编译器
(而不是在运行时)创建另一个类/类型。带有您的闭包的函数以及您被闭包/吊起/捕获的所有变量都将作为该类的成员重新编写为整个代码。.Net中的关闭实现为该隐藏类的一个实例。
这意味着您的count变量完全是另一个类的成员,并且该类的生存期与任何其他clr对象一样;在不再生根之前,它不符合垃圾收集的条件。这意味着,只要您有对该方法的可调用引用,它就不会出现任何问题。
欢迎分享,转载请注明来源:内存溢出
所述 编译器
(而不是在运行时)创建另一个类/类型。带有您的闭包的函数以及您被闭包/吊起/捕获的所有变量都将作为该类的成员重新编写为整个代码。.Net中的关闭实现为该隐藏类的一个实例。
这意味着您的count变量完全是另一个类的成员,并且该类的生存期与任何其他clr对象一样;在不再生根之前,它不符合垃圾收集的条件。这意味着,只要您有对该方法的可调用引用,它就不会出现任何问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)