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);
}