のバイトをIEnumerable<byte>
ファイルに書き込む必要があります。
私はそれを配列に変換してWrite(byte[])
メソッドを使用することができます:
using (var stream = File.Create(path))
stream.Write(bytes.ToArray());
ただしIEnumerable
、コレクションのアイテム数は提供されないため、絶対に必要な場合を除いてToArray
、使用はお勧めしません。
したがって、を繰り返して、各繰り返しIEnumerable
で使用できます。WriteByte(byte)
using (var stream = File.Create(path))
foreach (var b in bytes)
stream.WriteByte(b);
たくさんのデータを書くとき、どちらが速いのだろうか。
Write(byte[])
を使用すると、配列のサイズに応じてバッファが設定されるため、配列に関してはより高速になると思います。
私の質問は、IEnumerable<byte>
MBのデータがある場合、どちらのアプローチが優れているかということです。それを配列に変換して呼び出すWrite(byte[])
か、それとも繰り返してWriteByte(byte)
それぞれを呼び出しますか?