나는 닫혀있는 MemoryStream의 인스턴스를 가지고있다. (묻지 말고, 변경할 수없고, 언뜻보기에는 그렇게 열악한 디자인이 아니다. :)할당 된 바이트 만 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 전자 메일 메시지입니다.
물론 메모리 스트림에는 0이 포함될 수 있습니다! 귀하의 정보가 포함 된 데이터에 전적으로 의존 할 수 있는지 여부와 상관없이이 질문은 답할 수 없습니다. – Amy
어쨌든, 당신이 볼 수 있듯이, 다른 사람들이 내 관심사를 실제로 무효화한 방법을 제안했습니다. –