Как удалить данные из MemoryStream

Я не могу заставить это работать. У меня есть объект MemoryStream. Этот класс имеет свойство Position, которое сообщает вам, сколько байтов вы прочитали.

Я хочу удалить все байты между 0 и Position-1

Я пробовал это:

MemoryStream ms = ...
ms.SetLength(ms.Length - ms.Position);

но в какой-то момент мои данные

Итак, я сделал это

MemoryStream ms = ...
byte[] rest = new byte[ms.Length - ms.Position];
ms.Read(rest, 0, (int)(ms.Length - ms.Position));
ms.Dispose();
ms = new MemoryStream();
ms.Write(rest, 0, rest.Length);

, которое работает, но не очень эффективно.

Есть идеи, как я могу заставить это работать?

Спасибо

6
задан Florian Greinacher 10 May 2013 в 18:17
поделиться