我正在从一个老式的ActiveX中以双精度浮点数数组的形式获取数据。我最初不知道实际检索到的样本数量的最终值。
当我将它们从系统中提取出来时,在C#中将这些数组合并在一起的最有效方法是什么?
当我将它们从系统中提取出来时,在C#中将这些数组合并在一起的最有效方法是什么?
我也遇到了同样的问题,需要添加特定数量而不是整个数组,我的第一个解决方案与Hugo建议的相同。但我的感觉是“低效”的,因为它需要进行多次调整大小。
然后我想起了StringBuilder
是容量优化的。接下来我问自己,MemoryStream
是否也适用。经过一些尝试,我可以说是的。
MemoryStream
从256字节的最小容量开始,并在必要时按其上一容量的两倍增长,如256、512、1024、2048、4096、8192等。
我的下一个问题是,在调整数组大小和复制与使用MemoryStream
相比,需要多长时间。使用MemoryStream
比数组调整大小和复制快得多。
因此,我认为使用MemoryStream
是最有效的方法。