我必须在运行时增加byte[]
数组大小。
如何在运行时增加byte []数组大小?如何在运行时增加byte []大小?
回答
为什么没人似乎知道Array.Resize:
Array.Resize(ref myArray, 1024);
简单得很。
PS:按照MSDN上的评论,显然这是在3.0的MSDN文档丢失;这可以解释它的流行ignotion
MSDN链接http://msdn.microsoft.com/en-us/library/bb348051.aspx – 2011-05-16 12:09:16
@布赖恩:谢谢,我已经抄在回答错了链接,SRY – sehe 2011-05-16 12:13:59
注意,这将创建一个新的磁盘阵列,如果你在某处引用旧数组,则该数组不会更新。 – 2011-05-16 12:20:30
如果要增加它,为什么不摆在首位一个List<byte>
开始?
你可以分配一个新的数组,并在与Array.Copy(..)
byte[] oldArr = new byte[1024];
byte[] newArr = new byte[oldArr.Length * 2];
System.Array.Copy(oldArr, newArr, oldArr.Length);
oldArr = newArr;
复制字节您不能:数组是固定大小。
既可以使用一个重新可观集合(例如List<byte>
)或创建一个新的较大的阵列和在复制原始数组的内容。
即使Array.Resize不修改传递的数组对象:它创建一个新的数组,并复制的元素。它只是节省你自己编码。区别很重要:对旧数组的其他引用将继续看到旧数组。
A排列是固定尺寸的,并且不能在运行时动态地改变。
你唯一的选择是创建所需大小的新数组,并从旧的阵列复制的所有字节到新的一个。
但是,为什么有这样的折磨,而不是使用List<byte>
和简单地添加或删除随意的元素自己?
- 1. 如何增加在VMware上运行的Linux的HD大小
- 2. 如何增加在Windows下运行的JVM堆大小?
- 3. 为什么文本框大小在运行时自动增加?
- 4. 如何在运行时增加标签
- 5. 在运行时加载Java-Byte-Code
- 6. 如何增加Eclipse IDE中的堆大小以运行JavaWebApplication?
- 7. 当我增加图像大小时td大小不会增加
- 8. 增加大小
- 9. 如何增加运行计时器
- 10. 增加时屏幕字体大小小
- 11. 如何使QGraphicsView在绘制超出其大小的线时增加其大小?
- 12. 如何增加图像大小,但不增加大小容器其位于
- 13. 增加sc_fifo_out大小
- 14. 如何增加在SQL Server CE行大小
- 15. 如何找到行,在大小列值增加的第一次?
- 16. 如何在用户单击按钮时增加TextView的大小?
- 17. UILongPressGestureRecognizer-如何在按住的同时增加大小
- 18. 如何在增加内容大小时防止内容偏移
- 19. 如何增加netezza表的列大小
- 20. 如何增加oracle中表的大小?
- 21. 如何增加UITabbar的大小
- 22. 如何增加iphone中UITabBarItem的大小?
- 23. Java如何增加字体大小?
- 24. 如何增加Groovy的JVM堆大小?
- 25. 如何增加此SVG的大小?
- 26. 如何用runhaskell增加堆栈大小?
- 27. 如何增加fanpage的大小?
- 28. 如何增加C#程序集大小?
- 29. 如何增加链接的大小?
- 30. 如何增加iPad中popOverView的大小?
可能重复的[更改数组大小](http://stackoverflow.com/questions/4840802/change-array-size) – nawfal 2013-09-13 05:19:07