Этот вопрос является продолжением этого QuestionКак заполнить байт [] байтами 0xFF?
я написал небольшой метод, чтобы заполнить byte[]
так же, как MemoryStream
:
public static Stream FillWithPadding(Stream MS, int Count)
{
byte[] buffer = new byte[64];
for (int i = 0; i < buffer.Length; i++)
{
buffer[i] = 0xFF;
}
while (Count > buffer.Length)
{
MS.Write(buffer, 0, buffer.Length);
Count -= buffer.Length;
}
MS.Write(buffer, 0, Count);
return MS;
}
public static byte[] FillWithPadding(byte[] Buffer, int Count)
{
using (MemoryStream MS = new MemoryStream())
{
MS.Write(Buffer, 0, Buffer.Length);
MemoryStream msw = FillWithPadding(MS, Count) as MemoryStream;
return msw.GetBuffer();
}
}
Этот код не работает !!
Вместо этого он создает 0xFF
+ 0x00
в конце!
Может кто-нибудь прояснить, почему это не работает?
Какая наименьшая ценность 'Count', которая производит эту« проблему »? –