首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

new生存期,该怎么解决

2012-01-06 
new生存期我在一个局部函数中new了一个对象,然后一直被引用,请问出了这个函数,new的地址会被自动销毁吗?按

new生存期
我在一个局部函数中new了一个对象,然后一直被引用,请问出了这个函数,new的地址会被自动销毁吗?按网上查的资料,说只有不再使用的资源才会被销毁,是不是只要还有其他的函数在引用这个地址,它就不会销毁?
请达人指教

[解决办法]
只要这个对象的引用被任何一个存活的对象拿着(包括字段设置为这个引用的值或者方法中使用了这个引用),这个对象就不会被回收。所以,只要是你通过正常手段能拿到的引用,它的对象都不会已经被回收。
[解决办法]
这种问题自己做个小例子就知道了:
object a;
void test()
{
a= new object();
}
string b = a.ToString();
运行一下,这里不会抛出Exception,所以可以确定不会。
关于为什么不会,楼上的说的正确。

热点排行