Будет ли MemoryStream
работать на вас? Интерфейс может быть не таким удобным, но он предлагает простой способ добавления байтов, и когда вы закончите, вы можете получить содержимое как byte[]
, вызвав ToArray()
.
Более StringBuilder
-подобный интерфейс, вероятно, может быть достигнут путем создания метода расширения.
Обновление
Методы расширения могут выглядеть так:
public static class MemoryStreamExtensions
{
public static void Append(this MemoryStream stream, byte value)
{
stream.Append(new[] { value });
}
public static void Append(this MemoryStream stream, byte[] values)
{
stream.Write(values, 0, values.Length);
}
}
Использование:
MemoryStream stream = new MemoryStream();
stream.Append(67);
stream.Append(new byte[] { 68, 69 });
byte[] data = stream.ToArray(); // gets an array with bytes 67, 68 and 69