如何在完成课程后释放课程的所有资源

Sha*_*pta 1 .net c# garbage-collection

当我完成为类创建的对象时,如何在.net中调用GC.

如果我将对象值设置为Null

objClassObject=NULL;
Run Code Online (Sandbox Code Playgroud)

它是否释放与之关联的所有对象和资源.?

Ed *_* S. 8

将对象设置为null不会导致GC突然进入并清理内存.它有助于首先了解您正在做什么,幸运的是,GC已有详细记录:

各种GC相关主题的链接.

答案是99.999%的时间(编号,是的)你不需要.如果你具有一定轮廓,发现你其实需要强制GC通,您可以使用GC类,以试图做到这一点.你真的应该知道你在做什么,并且无法保证GC能完全按照你的意愿行事.

Raymond Chen最近写了一些关于这个主题的好文章:

每个人都认为GC是错误的方式

什么时候对象是否符合垃圾收集条件?

但是,如果您创建一个管理某些本机资源的类,那么您将需要实现IDisposable接口,因为GC不会/无法回收非托管资源.