申请简单类型的一个数组: int [] ai = new int[100];在进行一系列操作之后,如果要对ai数组进行清空,直接用ai = new int [100]行吗?会不会内存泄漏?
c#中一般常规的清空数组的方法是怎么样的。
c#中一般常规的清空数组的方法是怎么样的。
解决方案 »
- C#类控制窗体中的某个控件的值
- ASP.NET如何统计每个用户登录网站的次数
- 类型初始值设定项引发异常 dataSet
- 高手请进,该问题不知该如何表达????
- C/S下的Datagrid绑定Dataset,为何在Windows 2000下运行正常,到Windows98下会经常出错(.net Framework 1.0)
- 如何从文本文件中读取出中文字符串
- .net winform(C#)连接远程的oracle的语句怎么写?
- 求高手帮忙解决一下c#获取mac地址的问题
- 支付宝批量删除交易记录软件
- 请问如何打开word
- C#读取doc文档,并将其显示在richTextBox里面?
- 看看这个数据库操作怎么做?
Array.Clear这个常用
一般的集合都有clear方法
其实这些托管对象的资源释放是由CLR来做GC处理的,如非必要,自己不用做清空也可以。
可以Array.Clear(ai,0,ai.Length);
不要在去申请内存了
有Clear方法可以调用 XXX.Clear(), 没有的话直接=null;这种托管类型,你不用管它们的内存泄露的,只管用就是了。 .Net会自动管理内存。
不过为了效率着想,还是不要乱用。呵呵。
1.在堆栈上定义一个int[]型的引用类型变量叫ai;
2.在堆上分配int[100],并使ai指向int[100]的首地址。
如果直接用ai = new int [100],原来在堆上分配的int[100]则没有引用了,如果内存不够,gc判断没有引用引着就回收了
ai.Initialize(); //恢复默认值
GC.Collect();
完全可以这样清空。java和.net都是如此自动化,不是那种低级的“纯”c、c++。