代码改变世界

对象的销毁问题

2009-09-21 16:30  cunhao  阅读(1685)  评论(17编辑  收藏  举报

今天有一个问题自己想不通,拿出来请教下大家,代码如下:

 

Code

 

当其他类调用GetMyStruct方法后, 假设返回的MyStruct对象长时间内存在(被其他对象引用),

问题是:GetMyStruct方法内的myStruct2对象会被回收吗?

GetMyStruct方法返回的对象和myStruct2使用同一个Dictionary, 以前记得看到垃圾回收说的是当对象不再被其他对象引用时,会成为垃圾回收的对象,一段时间后会被回收,当GetMyStruct方法执行完成后,myStruct2不再被其他对象引用, 我们假设GetMyStruct方法的返回对象在长时间内存在,那么,myStruct2会被回收吗?