2

MemoryStream実行時にファイルから作成される があります。

次にMemoryStreamが編集され、一部のバイトが削除されます。

ここで、一定のファイルサイズを維持する必要があるため、MemoryStream0xFF バイトで埋める必要があります..

この操作を行う最速の方法は何ですか?

私はいつでもMemoryStreamサイズをループして 0xFF を追加できることを知っていますが、それを行うためのより高速で効率的な方法を知る必要があります!

4

1 に答える 1

4

ストリームに書き込むバイト数が多い場合は、各バイトを個別に書き込むよりも配列を書き込む方が効率的です。

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);
}
于 2012-05-13T08:55:14.087 に答える