Rumah >pembangunan bahagian belakang >C++ >Bagaimana cara menyalin kandungan aliran dengan cekap dalam .net?
dalam pengaturcaraan, menyalin kandungan aliran ke yang lain adalah operasi biasa. .NET menyediakan beberapa kaedah untuk melaksanakan operasi ini.
Gunakan stream.copyToAsync method (.net 4.5)
.net 4.5 stream.copyToasync Kaedah memperkenalkan kaedah kandungan aliran replikasi asynchronous:
Kaedah ini mengembalikan tugas, yang boleh menunggu untuk menyelesaikannya untuk memastikan operasi itu selesai. Ia mengekalkan konteks dan membolehkan kod ikut -up untuk terus melaksanakan pada benang yang sama.
<code class="language-csharp">input.CopyToAsync(output);</code>
Dalam versi .net 4.0 dan lebih tinggi, kaedah stream.copyto menyediakan salinan aliran segerak:
Pelaksanaan penyesuaian yang disesuaikan.Untuk versi sebelumnya .NET 3.5, tiada kaedah terbina. Anda mesti menggunakan kandungan salinan manual gelung:
<code class="language-csharp">input.CopyTo(output);</code>
Langkah berjaga -jaga
Saiz penampan dalam copystream boleh diselaraskan untuk mengoptimumkan prestasi.
<code class="language-csharp">public static void CopyStream(Stream input, Stream output) { byte[] buffer = new byte[32768]; int read; while ((read = input.Read(buffer, 0, buffer.Length)) > 0) { output.Write(buffer, 0, read); } }</code>Sila ambil perhatian bahawa panjang aliran mungkin tidak tersedia untuk beberapa realisasi aliran.
Atas ialah kandungan terperinci Bagaimana cara menyalin kandungan aliran dengan cekap dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!