C#中如何清空字节数组byte[]?会的帮忙看下

l245382052 2011-12-14 03:25:06
如题,我设置的是 全局变量,因为多处用到,但是当第一次给byte[]赋值后,不清空的话,程序分两次取值 第一次和第二次取的一样,所以我想在 第一次取值完后 清空byte[]。请问应该如何手动清空,谢谢
...全文
8223 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomogomono 2014-05-22
  • 打赏
  • 举报
回复
不错
mjp1234airen4385 2011-12-15
  • 打赏
  • 举报
回复
Array.Clear(byte, 0 ,byte.Length);

byte[7]=(byte)1;
xonln 2011-12-14
  • 打赏
  • 举报
回复
要研究内存相关的,只能用非托管的语言如VC++,Delphi。。。
NET是自动的,你要研究也是搞不准 的,微软没有机会让你搞准这些
zabcd117 2011-12-14
  • 打赏
  • 举报
回复
(byte)1呗
maitianqingqing 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 stonespace 的回复:]
byte[]是引用类型,要释放它需要通过GC,你看不到,

释放byte[]内存效率会很低,一般不需要这么做,如果你确定要释放它,可以重新new一个byte[],这样原来那个就会在适当时机被回收,

byte[] a=new byte[50];

....

a=new byte[50];//这样先前那个数组就会被GC回收,
[/Quote]


这样就可以了嘛?我最近也为BYTE【】苦恼啊。明天我试试。感觉应该是可以的。
借你的帖子问一句,怎么修改byte[]某一项的值啊?比如我要改byte[7],应该怎么赋值啊、有没有人写一下啊?
不要解答 byte[7]=1;这样根本行不通,1是INT型,这样根本程序通不过。小妹诚心求教懂的人啊~~
bibi227 2011-12-14
  • 打赏
  • 举报
回复
真想强制清空的话,建议用using,例如
using(byte buff = new byte[Size])
{
// 你要用的代码,
}
OrangeEvan 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hdt 的回复:]

Array.Clear
[/Quote]


+++1;
stonespace 2011-12-14
  • 打赏
  • 举报
回复
byte[]是引用类型,要释放它需要通过GC,你看不到,

释放byte[]内存效率会很低,一般不需要这么做,如果你确定要释放它,可以重新new一个byte[],这样原来那个就会在适当时机被回收,

byte[] a=new byte[50];

....

a=new byte[50];//这样先前那个数组就会被GC回收,
l245382052 2011-12-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 stonespace 的回复:]

你说清空是什么意思?一般不需要做这个操作,你非要重新初始化,最简单的方法就是重新new一个,
[/Quote]
也就是把 byte[] 释放掉
stonespace 2011-12-14
  • 打赏
  • 举报
回复
你说清空是什么意思?一般不需要做这个操作,你非要重新初始化,最简单的方法就是重新new一个,
真相重于对错 2011-12-14
  • 打赏
  • 举报
回复
Array.Clear

111,092

社区成员

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

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

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