【发布时间】:2011-08-18 11:18:46
【问题描述】:
据我所知,关于这个问题有两个阵营 - 第一个认为终结器是 C# 特有的析构函数。所以他们认为这两件事是一样的。
第二个阵营认为存在细微差别——在维基百科中写道——““析构函数”一词通常用于表示确定性调用的清理,而“终结器”在垃圾收集器要求运行时运行。”
但让我为自己澄清一些事情。确定性调用的清理?在 C# 规范和 msdn 中写到不能调用析构函数(它们是自动调用的)。唯一可以自动调用它们的情况是垃圾收集器。
所以我看不出确定性调用的清理和垃圾收集器的情况有什么区别。
是这样还是不是?
【问题讨论】:
标签: c# destructor finalizer