首页新闻找找看学习计划

c#中,对象创建的时候是使用new生成,对象在什么情况下自动销毁呢?

0
悬赏园豆:5 [已解决问题] 解决于 2015-11-23 20:00

但是书上说的使用了类的析构函数,或者更高级点的继承了IDisposalbe后实现的IDispose()方法来实现对象的销毁,我想问问何种情况下,对象自动销毁?对象如何自动销毁?在这个对象不再使用的时候吗?

spike_xy的主页 spike_xy | 初学一级 | 园豆:56
提问于:2015-11-20 13:30
< >
分享
最佳答案
0

http://www.cnblogs.com/edisonchou/p/4787775.html

 

这个应该能解决你的疑问,里面把GC描述的也很清晰明了

收获园豆:5
澈澈 | 菜鸟二级 |园豆:435 | 2015-11-23 17:31
其他回答(4)
0

垃圾回收器啊。。。

顾晓北 | 园豆:9534 (大侠五级) | 2015-11-20 13:33

那什么时候会调用垃圾回收器呢

支持(0) 反对(0) spike_xy | 园豆:56 (初学一级) | 2015-11-20 13:33

@weloveshare: 系统自动调用,大多时候你是不用管的。。。

支持(0) 反对(0) 顾晓北 | 园豆:9534 (大侠五级) | 2015-11-20 13:38
1

楼主先去了解下托管与非托管,值类型与引用类型。

Firen | 园豆:5483 (大侠五级) | 2015-11-20 14:05

您的意思是不是说托管语言由JIT管理,所以怎么销毁,何时销毁,我们也不知道,是这样吗?

支持(0) 反对(0) spike_xy | 园豆:56 (初学一级) | 2015-11-20 17:12
0

系统根据自己的算法,对待回收的垃圾是有区分的,你可以看一下,GC回收情况。

Supper_litt | 园豆:979 (小虾三级) | 2015-11-21 11:18
0

自动销毁的。比喻 A a=new A(); B b=new B();

string a1="1";在此时发现A还有引用B没有其他地方引用这个时候B就会被释放了A却没有

 

string a2=a.方法();

string a3="2";此时A也没有引用了就会释放A

朝向远方 | 园豆:224 (菜鸟二级) | 2015-11-21 17:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册