我有一个关闭的MemoryStream的实例(不要问,不能改变这一点,它不是那么糟糕的设计,因为它似乎乍一看:)。 无论如何,我发现我可以使用的东西走的byte [],如:从GetBuffer获得分配的字节数组的唯一字节是否安全?
MemoryStream ms = SomeClass.GetMemoryStream();
byte[] myData = ms.GetBuffer();
一切似乎都好了,到目前为止,我唯一的问题是字节数组从的GetBuffer()返回的大小和包含未分配空间(字节)0; 像这样:
12,32,43,43,2,3,0,0,0,0,0,0,0
我的问题是它是安全的假设,我可以读取阵列,直到我遇到的第一个0? 你知道在数据中间会有(字节)0的任何情况吗? 该数据是一个MIME电子邮件信息。
当然,内存流可以包含一个零!无论你是否可以完全依赖它所包含的数据,因此这个问题是无法回答的。 – Amy
无论如何,我需要对您的评论进行评论,正如您所看到的,其他人提出的方法实际上使我的担忧无效。 –