我有一个MemoryStream
在运行时从文件创建的。
然后MemoryStream
编辑并删除一些字节。
现在我必须维护一个常量文件大小,所以我必须MemoryStream
用 0xFF 字节填充..
执行此操作的最快方法是什么?
我知道,我总是可以遍历MemoryStream
大小并添加 0xFF,但我需要知道一种更快、更有效的方法来做到这一点!
我有一个MemoryStream
在运行时从文件创建的。
然后MemoryStream
编辑并删除一些字节。
现在我必须维护一个常量文件大小,所以我必须MemoryStream
用 0xFF 字节填充..
执行此操作的最快方法是什么?
我知道,我总是可以遍历MemoryStream
大小并添加 0xFF,但我需要知道一种更快、更有效的方法来做到这一点!
如果您有许多字节要写入流,则写入数组而不是单独写入每个字节可能更有效:
static void Fill(this Stream stream, byte value, int count)
{
var buffer = new byte[64];
for (int i = 0; i < buffer.Length; i++)
{
buffer[i] = value;
}
while (count > buffer.Length)
{
stream.Write(buffer, 0, buffer.Length);
count -= buffer.Length;
}
stream.Write(buffer, 0, count);
}