我有一個關閉的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
無論如何,我需要對您的評論進行評論,正如您所看到的,其他人提出的方法實際上使我的擔憂無效。 –