Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在分离的流之间保存值?_C#_Memorystream - Fatal编程技术网

C# 如何在分离的流之间保存值?

C# 如何在分离的流之间保存值?,c#,memorystream,C#,Memorystream,我将字节数组加载到对象中,然后将它们连接在一起。问题是,每当using语句退出时,流就会关闭,连接的对象就会失败,因为它的一些资源已经被释放。我一直在尝试将中间的结果保存到一个新流,但这也失败了。这是我的代码: public byte[] Merge(IEnumerable<byte[]> docBytes) { Document original = new Document(); using (MemoryStream resultStream = new Me

我将字节数组加载到对象中,然后将它们连接在一起。问题是,每当using语句退出时,流就会关闭,连接的对象就会失败,因为它的一些资源已经被释放。我一直在尝试将中间的结果保存到一个新流,但这也失败了。这是我的代码:

public byte[] Merge(IEnumerable<byte[]> docBytes)
{
    Document original = new Document();

    using (MemoryStream resultStream = new MemoryStream())
    {
        foreach (byte[] docByte in docBytes)
        {
            using (MemoryStream byteStream = new MemoryStream(docByte))
            {
                Document doc = new Document(byteStream);
                original.Pages.Add(doc.Pages); //I basically want to add all pages from each doc into 1 doc.
                original.Save(resultStream); //this fails if docBytes is more than 1
            }
        }

        return resultStream.ToArray();
    }
}
如何在创建新流之间保存这些值


文档类的错误。

要知道它到底是如何失败的,请发布文档的代码。如果您不想让它失败,请复制您在该类中收到的内容,而不是使用已传递的流。@MartinVerjans类文档可在此处找到:内存仍在消耗中-处理
MemoryStream
不会更快地释放它<代码>内存流中没有任何非托管资源。将它们添加到列表中可能意味着引用的时间更长,是的。因此,我建议首先删除
Dispose
。内存行为将是相同的(因为
MemoryStream.Dispose
实际上什么都不做)。试一试-它有效吗?是的,似乎有效,谢谢。要知道它到底是如何失败的,请发布文档的代码。如果您不想让它失败,请复制您在该类中收到的内容,而不是使用已传递的流。@MartinVerjans类文档可在此处找到:内存仍在消耗中-处理
MemoryStream
不会更快地释放它<代码>内存流中没有任何非托管资源。将它们添加到列表中可能意味着引用的时间更长,是的。因此,我建议首先删除
Dispose
。内存行为将是相同的(因为
MemoryStream.Dispose
实际上什么都不做)。试一试-它有用吗?是的,似乎有用,谢谢。
[Error] Failed with exception.System.ObjectDisposedException: Cannot access a closed Stream.