gpt4 book ai didi

c# - 什么是终结者?

转载 作者:太空狗 更新时间:2023-10-29 18:11:34 25 4
gpt4 key购买 nike

我已经使用 .NET 编程四年(主要是 C#)并且我广泛使用 IDiposable,但我还没有找到对终结器的需求。终结器有什么用?

最佳答案

终结器是确保正确清理某些内容的最后尝试,通常保留给包装非托管资源的对象,例如不会被垃圾收集的非托管句柄等。

编写终结器确实很少见。幸运的是(与 IDisposable 不同),终结器不需要传播;所以如果你有一个带有终结器的 ClassA 和一个包装 ClassAClassB,那么 ClassB 不需要终结器 - 但很可能 ClassAClassB 都会实现 IDisposable

对于托管代码,IDisposable 通常就足够了。即使您没有正确清理,最终也会收集托管对象(假设它们已被释放)。

关于c# - 什么是终结者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com