我有一个已关闭的 MemoryStream 实例(不要问,不能改变它,它的设计并不像乍一看那样糟糕:)。无论如何,我发现我可以使用以下方式获取 byte[]:
MemoryStream ms = SomeClass.GetMemoryStream();
byte[] myData = ms.GetBuffer();
到目前为止一切似乎都很好,我唯一的问题是从 GetBuffer() 返回的字节数组已调整大小并包含未分配的空间 (byte)0; 像这样:
12,32,43,43,2,3,0,0,0,0,0,0,0
我的问题是假设我可以读取数组直到遇到第一个 0 是否安全?您是否知道数据中间会有 (byte)0 的任何情况?数据是 MIME 电子邮件消息。