unsafeの配列をStreamへ一気に流し込むには

C#でbyte*などの配列をファイルに保存するときにWriteByte()で1バイトずつ書き込むのは非効率です。そんなときはUnmanagedMemoryStreamを使ってみましょう。
サンプルは概要をざっくりとしか書いていないので、詳しくはMSDNのヘルプをご参照ください。
stream.cs
byte *buf; int len;
FileStream fs = new FileStream(@"D:\res.dat", FileMode.Create);
UnmanagedMemoryStream ums = new UnmanagedMemoryStream(buf, len);
ums.CopyTo(fs);
ums.Close();
fs.Close();
2012/10/14