【发布时间】:2021-09-10 04:01:23
【问题描述】:
我有 IEnumerable 流。如何将其转换为一个大的 MemoryStream 或字节 []。 我希望流中的所有流都附加到一个大流/内存流中。通过迭代所有流,我们遇到了某些性能问题。我正在寻找最佳解决方案。
using (var ms = new MemoryStream())
{
foreach (var stream in streams)
{
stream.CopyTo(ms);
}
byteData = ms.ToArray();
}
谢谢
【问题讨论】:
-
foreach 和
Stream.CopyTo到另一个流,每个副本将从当前位置开始,意味着它会不断增长 -
@TheGeneral:更新问题以显示我所拥有的。这是最好的性能吗?
-
性能将与您正在写入的流一样好,如果它是内存流,它将与您在不预先分配缓冲区的情况下获得的性能一样好。
-
我想不出将多个 单独 流合并在内存中会修复性能问题;我可以想到很多场景会导致性能问题
标签: c# memorystream