从http://msdn.microsoft.com/en-us/library/system.io.memorystream%28v=VS.90%29.aspx:一个无符号字节数组创建如何检查C#流是否可调整大小?
内存流提供的数据的 不可调整大小的流。当使用字节数组时,虽然您可能可以通过 修改现有内容,具体取决于传递给构造函数的参数 既不追加也不收缩流。空的内存流可调整大小,并且可以被写入和读取。
当提供给MemoryStream
(甚至只是一个Stream
)的引用,一个如何检查它是否是可调整大小?
使用OpenXML SDK时出现了这种情况,它要求传递给它的流可调整大小。我可以通过深度复制到可调整大小的流来确保可调整性,我只是想知道为什么当一个错误参数传递给它时(即不可调整的流),库不会抛出异常。
如果在现有的字节数组'MemoryStream'构造函数传递,内存流仅仅是包装的阵列。所以自然不能调整数组和流的大小(通过扩展)。 –