【发布时间】:2018-11-30 11:29:50
【问题描述】:
我目前的方法是将 COM 流读入 C# MemoryStream,然后调用 .toArray。但是,我相信 toArray 创建了数据的冗余副本。有没有更好的方法以减少内存使用为优先?
var memStream = new MemoryStream(10000);
var chunk = new byte[1000];
while (true)
{
int bytesRead = comStream.read(ref chunk, chunk.Length);
if (bytesRead == 0)
break; // eos
memStream.Write(chunk, 0, bytesRead);
}
//fairly sure this creates a duplicate copy of the data
var array = memStream.ToArray();
//does this also dupe the data?
var array2 = memStream.GetBuffer();
【问题讨论】:
标签: c# memory stream memorystream