以下的代码是否会发生内存泄漏?

zjpixyniannian 2004-09-20 03:01:05
ArrayList array = new ArrayList();
array.Add(FirstObject);
array.Add(SecondObject);
...
//进行一些处理后

array = new ArrayList();
array.Add(otherObject1);
array.Add(otherObject2);
...

以上的代码可以吗?如果可以,那第二次
array = new ArrayList();
的时候,以前已经加入到array中的数据项所在的内存岂不是没有释放?
还是说垃圾回收机制会开始运行,回收内存?
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
roselu 2004-11-23
  • 打赏
  • 举报
回复
GZ
dandantree 2004-09-20
  • 打赏
  • 举报
回复
帮你顶一下,不过我觉得任何一个arraylist在实现Ilist接口时都会先入栈,然后再将其地址指到栈中新创建的arraylist对象的地址,这样就会与前一个arraylist对象失去联系,但是又不会马上执行垃圾回收,因为它们是在一个程序域中执行的.
qpl007 2004-09-20
  • 打赏
  • 举报
回复
在.NET中不会出现内存泄漏!

CLR会自动回收!

不过不建议你这样写!

CLR只有在没有足够的内存进行分配时才进行垃圾回收!

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧