用.net 5仿照SO题主的代码测试了一下,发现在Test类生成的IL里有这么一段
.field public static class [System.Runtime]System.Func`2<object, bool> '<>9__0_0'
这应该是这个lambda被自动生成的field成员吧, 看这个类的类型的话,感觉不能算作Leak吧.
【 在 ustcBoy 的大作中提到: 】
: 学习了一下SO说的这个例子,感觉它是指这个lamba 局部变量将会是一个静态的存在,所以无法被GC了,但是Test这个类应该还是在GC的管辖内的。所以即使多次创建的Test也只会有一个lambda成员作为静态存在,而多次创建的Test对象最终都会被回收。这应该不用被视作leak吧?
: 不知道我理解的对不对。
--
FROM 60.180.33.*