私はそれで生のバッファを持っています。他に3つ、常に最初の8バイトであるヘッド、常にバイト8から?までのボディを作成する必要があります。では、どちらの足からですか?ファイルの最後まで。
体と足を埋めることができるように、既存のバッファーからバッファーを作成するにはどうすればよいですか。また、最初の 16 バイトを使用するように head を作成するにはどうすればよいですか。私は参照またはポインターを使用していないと仮定しています。
Array.Copy() を使用して、ある配列から別の配列に要素をコピーできます。ソースと宛先の開始位置と終了位置を指定できます。
Buffer.BlockCopy()も確認してください。
MemoryStreamからBinaryReaderを使用できます
System.IO.MemoryStream stm = new System.IO.MemoryStream( buf, 0, buf.Length );
System.IO.BinaryReader rdr = new System.IO.BinaryReader( stm );
int bodyLen = xxx;
byte[] head = rdr.ReadBytes(8)
byte[] body = rdr.ReadBytes(bodyLen );
byte[] foot = rdr.ReadBytes(buf.Length-bodylen-8);
Buffer.BlockCopyを使用してみてください。これにより、配列操作と比較してプリミティブ型のパフォーマンスが向上します。(なぜですか?わかりませんが、MSDNはそう言っています)