日期:2014-05-18  浏览次数:21213 次

C#类对象释放问题,如何手动释放
public class czj
  {
  public static int count;
  public czj()
  {
  count++;
  }
  ~czj()
  {
  count--;
  }
}
在C#采用了自动内存回收后,虽然减轻了一些负担,但是也导致了一些不便,比如我想统计当前已经创建了多少个对象(希望中途释放一些),就无法实现了。
因为所有对象都生存到最后一刻才释放,无法中途释放。

大家帮我下,有没有类似C++的delete 对象方式效果的

------解决方案--------------------
C#里提供了IDispose接口,实现了这个接口的对象可以主动调用Dispose()方法来释放。
建议参考
http://msdn2.microsoft.com/zh-cn/library/system.idisposable(VS.80).aspx

http://msdn2.microsoft.com/zh-cn/library/fs2xkftw(VS.80).aspx

------解决方案--------------------
dispose
------解决方案--------------------
Dispost()方法 。。 释放

手动的话需要显示的调用
------解决方案--------------------
没有实现Dispost()的也可以通过GC.Collect()释放吧