.NETストリームコピーテクニック:パフォーマンス比較
さまざまな.NETアプリケーションでは、ストリーム間でデータを効率的に転送することが重要です。この記事では、コピーをストリーミングするためのさまざまなアプローチを調査し、パフォーマンスの特性とさまざまな.NETバージョンの適合性を強調しています。
最適なアプローチ:(.NET 4.5以降)Stream.CopyToAsync
.NET 4.5以降の場合、非同期
は、Stream.CopyToAsync
パラメーターを介した進捗報告をサポートし、大規模な転送中に貴重なフィードバックを提供します。 使用法は簡単です:CopyToAsync
Progress<T>
<code class="language-csharp">await input.CopyToAsync(output);</code>
(.NET 4.0以降)Stream.CopyTo
.NET 4.0以降のバージョンでは、同期メソッドはより簡単な代替手段を提供します。機能しますが、コピーが完了するまで呼び出しスレッドをブロックし、アプリケーションの応答性に影響を与える可能性があります。 その構文は簡潔なものです:
Stream.CopyTo
<code class="language-csharp">input.CopyTo(output);</code>
古い.NETフレームワーク(3.5以前)の場合、手動ストリームのコピーが必要です。これには、バッファリングされた読み取りワイトループが含まれます:
バイト配列バッファーを定義します。
Read()
Write()
適切な方法を選択すると、.NETバージョンとアプリケーションの要件に依存します。 最新の.NETアプリケーションで最適なパフォーマンスと応答性を得るために、以上が.NETでストリームを効率的にコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。