有一个byte数组如下
byte[] bt = new byte[1000];
我通过某种方式得到了数据存入bt,但是数据不一定有1000b,我怎么样将剩余的数组空间弄掉,只剩下我的数据,前提是我的数据究竟多大我事先不知道,要是知道我也不用申请1000b的空间
byte[] bt = new byte[1000];
我通过某种方式得到了数据存入bt,但是数据不一定有1000b,我怎么样将剩余的数组空间弄掉,只剩下我的数据,前提是我的数据究竟多大我事先不知道,要是知道我也不用申请1000b的空间
MemoryStream ms;
while(read(bt)){
ms.Write(bt);
}
bt=ms.ToArray();
浪费点无所谓,现在内存都大。
1M的内存够你分配1000个这样的数组了。
假如我的byte数组不是1000B而是1023*1024*100呢,1M的内存只能分10个吧,假如我开20个线程都创建,那结果...这种情况不是假设,现实需求中确实有这方面的问题,不过还是谢谢你们
问题解决了
不过,还是如楼上各位所言,无此必要。
1000只是一个例子,并不是实际只要这么多