C#中怎麼釋放內存?

getter 2009-04-16 05:00:30
比如我有一個byte[]的數組,用完後怎樣釋放它佔的內存?
...全文
232 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingsky00 2009-09-03
  • 打赏
  • 举报
回复
可以显式的回收,如 DataTable dt=new DataTable(),用完后,消毁
dt.Dispose();

再强制回收内存
System.GC.Collect();

一般不建议这样做,回收内存很影响程序效率
智物客 2009-08-31
  • 打赏
  • 举报
回复
GC的确可以自动回收 但有时我们循环new了一大堆内存需要清理怎么办?
你会看见内存一点点地长
FenixeVon 2009-04-20
  • 打赏
  • 举报
回复
GC会自动回收的
System.GC.Collect()
getter 2009-04-20
  • 打赏
  • 举报
回复
冒死一頂
soft_wareYang 2009-04-18
  • 打赏
  • 举报
回复
好像是response.experis();
flyingsky00 2009-04-18
  • 打赏
  • 举报
回复
类继承IDisposable接口,重写dispose方法,回收的时候调用dispose方法就可以了,不用像C++里面那样去Delete
lchh0917 2009-04-18
  • 打赏
  • 举报
回复
数组是托管类型,有垃圾自动回收机制
对于非托管类型,需要显示释放,如using(){ }及重写dispose方法
highfly2008 2009-04-16
  • 打赏
  • 举报
回复
越早释放越好
陌上花花 2009-04-16
  • 打赏
  • 举报
回复
它会自动回收的。
不用管的
LemIST 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 getter 的回复:]
我就是想要即時釋放
[/Quote]
即时释放
using (byte[] bts = new byte[])
{
// do your things
}//释放
getter 2009-04-16
  • 打赏
  • 举报
回复
我就是想要即時釋放
yzk2008 2009-04-16
  • 打赏
  • 举报
回复
有时候还是需要及时释放的,如用了一些存放大量数据的DataSet,就要用完就放,否则占内存,.net是有垃圾回收机构,但是这种东西不可能做到及时释放,因为它并不知道你什么时候才算用完,只不过有它的存在你不用担心发生内存泄露这种事。
要释放对像这样即可:object.Dispose()[object是你要释放的对象]..C#中所有对象都有此方法
wjp_116 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyi8808 的回复:]
GC会自动回收的。

System.GC.Collect() 方法
[/Quote]
同意3楼的观点,framework有垃圾回收机制,当然如果编写的是非托管的代码就要手动写代码进行释放了
zmlsimple 2009-04-16
  • 打赏
  • 举报
回复
析构函数~??!!
junki 2009-04-16
  • 打赏
  • 举报
回复
可以设置为null
当不使用时,或超出作用范围,系统会自动进行垃圾回收的
sushou2009 2009-04-16
  • 打赏
  • 举报
回复
自动回收垃圾的吧~~貌似不用我们关的
zucc_sjj 2009-04-16
  • 打赏
  • 举报
回复
C#会自动回收垃圾~放心
heyihong0208 2009-04-16
  • 打赏
  • 举报
回复
GC会自动回收的。

System.GC.Collect() 方法
wuyi8808 2009-04-16
  • 打赏
  • 举报
回复
GC会自动回收的。

System.GC.Collect() 方法
wujinjian2008n 2009-04-16
  • 打赏
  • 举报
回复
C# 有垃圾回收,自动会释放的。

如果是非托管资源用using()
加载更多回复(1)

111,126

社区成员

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

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

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