我以前用c++现在试着用c#写点东西,在c++里用new 分配栈空间,delete 释放,现在
我在c#里写了一个类gzpx,
  gzpx  px=new gzpx();
 .......
 用完以后px还要释放吗?怎么释放呢?

解决方案 »

  1.   

    你可以像C++那样手动的dispose掉内存对象
    不过.NET中虚拟机(通用语言运行环境)可以很好的管理内存,
    会不定时的清理内存中没有被引用的对象,这样就不用在意对象的释放问题
    不过好的编程习惯是建立了对象就要注意手动释放,特别是数据库连接之类的资源对象~
      

  2.   

    你用dispose()方法,取消对象的引用,然后垃圾回收的时候可以把空引用的对象清楚掉。不过垃圾回收何时发生,我们无法预料,因此也是一个麻烦。
      

  3.   

    .net能自动释放,不过建议你最好还是手动释放一下,特别是一些dataSet,确定不用就dispose,这样会好一点的。
      

  4.   

    px.dispose()
    px = null
    gc回收不要总是用,它的效率并不高