关于.NET中垃圾收集的问题

Jef*_*ron 0 .net garbage-collection

我想我的问题可能与这个问题有关,但无论如何我都会问它!

如果我有三个对象:A,B和C在哪里

参考文献B A参考C B参考C(反之亦然,循环)

B-> C引用会导致A在收集时不被垃圾收集吗?

Tim*_*son 5

你所链接的问题的答案解释得很好.垃圾收集器旨在处理在循环中相互引用的对象.

如果您的三个对象相互引用,并且没有其他对象引用其中任何一个,则整个周期都有资格进行收集.

  • 轻微的挑剔:"整个周期*可以*立即收集" - 即它们都有资格收集.不能保证它们都会在同一个集合中被收集和销毁,特别是如果有一个需要它被重新保护的析构函数. (2认同)