C#到底什么情况下需要用析构函数?

2025-06-26 13:16:22
推荐回答(4个)
回答1:

当你创建一个对象后,系统会分配一些资料给这个对象,比如内存等。那么当这个对象不使用之后(系统会去检查,但什么时候检查不一定),系统会去释放这个对象的资源。往往有些时候,不能够等到系统去检查某个对象是不是需要被释放,那么这个时候就要用到析构方法去释放了。

托管就是交由系统去管理,非托管就是你自己写代码维护

回答2:

简单来说,只要你不调用系统API函数或者其他用非.net平台语言(比如C++、Delphi)编写的函数,都是托管代码,CLR会自动维护系统资源。如果你调用了C++、Delphi创建的动态链接库,当然系统API也是用C/C++写的,就要手动释放其中手动分配的资源。

回答3:

不用

回答4:

非托管的代码