mengoptimumkan pemindahan data antara aliran dalam .net
Memindahkan data antara aliran adalah tugas pengaturcaraan yang kerap. .NET menawarkan beberapa kaedah, masing -masing sesuai dengan versi rangka kerja dan keperluan prestasi yang berbeza.
penyalinan asynchronous dengan (.net 4.5 dan kemudian): Stream.CopyToAsync
Stream.CopyToAsync
Pendekatan Asynchronous ini membolehkan pemprosesan serentak, mencegah menyekat sementara operasi salinan selesai. using System.IO; using System.Threading.Tasks; // ... await input.CopyToAsync(output);
Penyalinan segerak dengan
(.net 4.0 dan kemudian): Stream.CopyTo
dalam .net 4.0 dan kemudian versi, kaedah segerak
Stream.CopyTo
using System.IO; // ... input.CopyTo(output);
Penyalinan Stream Manual (.NET 3.5 dan lebih awal):
untuk rangka kerja yang lebih tua (3.5 dan ke bawah), penyalinan aliran manual diperlukan:
Kaedah manual ini menawarkan fleksibiliti untuk pengesanan kemajuan dan mengendalikan aliran panjang yang tidak diketahui. Saiz penampan adalah faktor utama dalam kecekapan; 32768 bait adalah titik permulaan yang baik. Eksperimen boleh mendedahkan saiz optimum untuk senario tertentu.
using System.IO; public static void CopyStream(Stream input, Stream output) { byte[] buffer = new byte[32768]; // Optimized buffer size int read; while ((read = input.Read(buffer, 0, buffer.Length)) > 0) { output.Write(buffer, 0, read); } }
Atas ialah kandungan terperinci Bagaimanakah saya dapat menyalin data antara aliran di .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!