BinaryReader(MemoryStream(MyByteArray)
)を使用して、可変サイズのレコードを読み取り、それらをすべてメモリ内で処理します。これは、配列内にある私のバイトストリームのサイズが約1.7GB未満である限りうまく機能します。その後(私の64ビットシステムでは整数の最大サイズです)、十分な実メモリがありますが、より大きなバイト配列を作成することはできません。したがって、私の解決策は、バイトストリームを読み取り、それをいくつかのバイト配列に分割することでした。
ただし、バイト配列の境界を越えて「読み取る」ことはできません。また、データが可変形式であるため、バイト配列が常にレコード全体で終了することを保証できません。
これは、非常に大きなデータセットを処理する人々にとって一般的な問題であるに違いありませんが、それでも速度が必要です。
この問題をどのように処理しますか?