penyalinan kandungan aliran yang cekap dalam .net: analisis perbandingan
Memindahkan data antara aliran adalah operasi asas dalam pembangunan .NET, terutamanya dalam aplikasi pemprosesan data. Artikel ini meneroka beberapa kaedah untuk menyalin aliran yang cekap, menonjolkan kekuatan dan kelemahan mereka.
Pendekatan optimum: (.net 4.5 dan kemudian) Stream.CopyToAsync
muncul sebagai penyelesaian pilihan. Sifat asynchronous memastikan prestasi yang optimum, mencegah menyekat dan membolehkan operasi serentak. Kaedah ini mengembalikan Stream.CopyToAsync
, membolehkan integrasi lancar ke dalam aliran kerja tak segerak. Penggunaan adalah mudah: Task
<code class="language-csharp">await input.CopyToAsync(output);</code>
penyalinan segerak: (.net 4.0 dan kemudian) Stream.CopyTo
menawarkan lebih mudah, walaupun menyekat, alternatif. Ia secara langsung memindahkan data dari input ke aliran output. Stream.CopyTo
<code class="language-csharp">input.CopyTo(output);</code>
Pelaksanaan Manual (Pre -.Net 4.0):
Sebelum .NET 4.0, pemaju perlu melaksanakan penyalinan aliran secara manual. Ini terlibat menggunakan penampan untuk membaca dan menulis data dalam ketulan. Semasa menawarkan kawalan yang lebih besar, pendekatan ini kurang cekap daripada kaedah terbina dalam.
<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>
memilih kaedah yang betul:
Pilihan optimum bergantung pada versi .NET dan keperluan aplikasi anda. disyorkan untuk operasi tak segerak yang mengutamakan kecekapan dan respons. Stream.CopyToAsync
sesuai dengan senario segerak di mana kesederhanaan lebih disukai. Kaedah manual tetap menjadi pilihan yang sesuai untuk versi yang lebih tua. NET, tetapi kecekapan yang lebih rendah harus dipertimbangkan. Stream.CopyTo
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!