.NETストリームをバイト配列に最適化する
.NETのバイト配列にストリームを変換するためのいくつかの方法が存在します。 この記事では、より単純なテクニックの制限に対処する最も効率的なアプローチについて説明します。
BinaryReader
を使用してストリームをバイト配列に変換することが可能です(特に.NET 3.5で)、ストリームの長さを事前に知る必要があります。これは必ずしも実用的ではありません。
未知のストリームの長さを処理するBinaryReader
customMemoryStream
function
ReadFully
関数は、このチャンクされた読書を達成するためのクリーンな方法を提供します。 この方法は、ストリームの終了に到達するまでデータを繰り返し読み取り、追加します。長さの要件なしでレバレッジReadFully
(.NET 4)BinaryReader
Stream.CopyTo
に直接コピーすることでプロセスが簡素化され、バイト配列に簡単に変換できます。
大きなストリームのパフォーマンスチューニングチャンクされたアプローチとStream.CopyTo
の両方に、メモリの割り当てとコピーが含まれます。小さなストリームでは受け入れられますが、パフォーマンスは大きなストリームで苦しむ可能性があります。 最適化戦略には、MemoryStream
を予想されるサイズに事前に割り当てるか、より直接的なバッファーコピー操作を使用して効率を向上させることが含まれます。
以上が.NETのバイト配列にストリームを変換する最良の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。