.Net MemoryStream 클래스의 사용법을 이해하려고합니다. 스트림이 사용 중일 때 임시 임시 길이의 이진 데이터를 저장해야합니다. 그래서 메모리 스트림을 할당하고 일시적으로 그 데이터를 써주세요. 내 스트림이 무료로되면 memorystream에서 모든 데이터를 읽고 그것에 데이터를 씁니다. 위치 포인터를 0으로 설정하여이 작업을 수행합니다.메모리 스트림에서 데이터 제거
즉 mDataBuffer.Position = 0;
그러나 memorystream 클래스는 읽은 후에 데이터를 삭제하지 않는 것으로 보입니다. 다음 번에는 이전과 같은 데이터를 얻습니다. 내가 (1,4)의 출력을 기다리고 있었다하지만 난이 샘플 프로그램을
MemoryStream ms = new MemoryStream();
ms.WriteByte((byte)1);
ms.Position = 0;
Console.WriteLine(ms.ReadByte());
ms.WriteByte((byte)4);
ms.Position = 0;
Console.WriteLine(ms.ReadByte());
을 쓴 놀랍게도 출력 (1,1)이었다 확인합니다.
나는 memorystream의 이러한 행동에 당혹 스럽다. 누군가가 약간의 빛을 비추 수 있습니까? 또한 이것이 정상적인 동작 인 경우 스트림에서 지난 데이터를 어떻게 삭제할 수 있습니까? 사전에
감사합니다, VAIBHAV