C#中怎么清空字节数组byte[]?会的帮忙看下
1个回答
展开全部
释放byte[]内存效率会很低,一般不需要这么做,如果你确定要释放它,可以重新new一个byte[],这样原来那个就会在适当时机被回收,
byte[] a=new byte[50];
a=new byte[50];//这样先前那个数组就会被GC回收,
------解决方案--------------------------------------------------------探讨Array.Clear
------解决方案--------------------------------------------------------
真想强制清空的话,建议用using,例如
using(byte buff = new byte[Size]){// 你要用的代码,}
------解决方案--------------------------------------------------------探讨byte[]是引用类型,要释放它需要通过GC,你看不到,
释放byte[]内存效率会很低,一般不需要这么做,如果你确定要释放它,可以重新new一个byte[],这样原来那个就会在适当时机被回收,
byte[] a=new byte[50];
a=new byte[50];//这样先前那个数组就会被GC回收,
------解决方案--------------------------------------------------------(byte)1呗
------解决方案--------------------------------------------------------
要研究内存相关的,只能用非托管的语言如VC++,Delphi。。。
NET是自动的,你要研究也是搞不准 的,微软没有机会让你搞准这些------解决方案--------------------------------------------------------
byte[] a=new byte[50];
a=new byte[50];//这样先前那个数组就会被GC回收,
------解决方案--------------------------------------------------------探讨Array.Clear
------解决方案--------------------------------------------------------
真想强制清空的话,建议用using,例如
using(byte buff = new byte[Size]){// 你要用的代码,}
------解决方案--------------------------------------------------------探讨byte[]是引用类型,要释放它需要通过GC,你看不到,
释放byte[]内存效率会很低,一般不需要这么做,如果你确定要释放它,可以重新new一个byte[],这样原来那个就会在适当时机被回收,
byte[] a=new byte[50];
a=new byte[50];//这样先前那个数组就会被GC回收,
------解决方案--------------------------------------------------------(byte)1呗
------解决方案--------------------------------------------------------
要研究内存相关的,只能用非托管的语言如VC++,Delphi。。。
NET是自动的,你要研究也是搞不准 的,微软没有机会让你搞准这些------解决方案--------------------------------------------------------
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询