C# 定稿并推广到第1代

C# 定稿并推广到第1代,c#,garbage-collection,finalization,C#,Garbage Collection,Finalization,我的问题是,我在第0代中有对象,而且我还重写了finalization方法 当gc收集gen0时,发现它必须完成,所以不立即释放它们,并将这些对象升级到gen1?因此,只有在gc收集gen1的情况下,这些问题才会得到解决假设这些对象不再使用,则它们是垃圾 谢谢 Finalize方法在垃圾收集完成时调用,垃圾收集对象由GC处理 已经决定成为垃圾。这意味着无法回收这些对象的内存 因为Finalize方法可能会执行访问字段的代码。因为最后定稿- 可启用对象必须在集合中生存,它将升级到另一代,从而强制该

我的问题是,我在第0代中有对象,而且我还重写了finalization方法

当gc收集gen0时,发现它必须完成,所以不立即释放它们,并将这些对象升级到gen1?因此,只有在gc收集gen1的情况下,这些问题才会得到解决假设这些对象不再使用,则它们是垃圾

谢谢

Finalize方法在垃圾收集完成时调用,垃圾收集对象由GC处理 已经决定成为垃圾。这意味着无法回收这些对象的内存 因为Finalize方法可能会执行访问字段的代码。因为最后定稿- 可启用对象必须在集合中生存,它将升级到另一代,从而强制该对象 活得比它应该活得长得多。里克特j-通过C实现CLR#


所以是的,它得到了提升:)

这是你不应该担心的事情。GC不保证会调用finalize.ok,但这只是为了学习