
Penutup StreamReader dan strim asas: penerangan terperinci dan amalan terbaik
Apabila bekerja dengan strim dalam pengaturcaraan, anda biasanya menggunakan StreamReader untuk melaksanakan tugas tertentu, seperti membaca baris daripada fail teks. Walau bagaimanapun, soalan biasa ialah: adakah pelepasan objek StreamReader menjejaskan penutupan strim asas?
Jawapan: Ya.
Keluaran StreamReader (serta StreamWriter, BinaryReader dan BinaryWriter) mencetuskan penutupan dan keluaran strim asas. Ini berlaku apabila kaedah Dispose objek pembaca dan penulis ini dipanggil secara eksplisit. Walau bagaimanapun, kelas ini tidak membebaskan aliran melalui kutipan sampah. Oleh itu, pastikan anda mengeluarkan contoh pembaca/penulis secara manual menggunakan pernyataan using untuk memastikan strim ditutup dengan betul.
Amalan Terbaik:
Untuk memastikan keluaran strim yang konsisten, adalah disyorkan untuk terus menggunakan kenyataan using untuk mengurus strim itu sendiri. Gelagat keluaran yang diingini boleh dicapai dengan elegan dengan menggunakan pernyataan using bersarang untuk mengurus strim dan pembaca serta penulis, seperti yang ditunjukkan di bawah:
<code class="language-csharp">using (Stream stream = ...)
using (StreamReader reader = new StreamReader(stream, Encoding.Whatever))
{
// 使用 reader 读取数据
}</code>Walaupun pernyataan stream untuk using mungkin kelihatan berlebihan, pendekatan ini amat disyorkan memandangkan pengecualian yang mungkin berlaku semasa StreamReader instantiasi. Melakukan ini memastikan bahawa strim dikeluarkan dengan betul walaupun StreamReader dialih keluar atau kemudian diganti dengan menggunakan strim secara terus.
Atas ialah kandungan terperinci Adakah Melupuskan StreamReader Juga Menutup Aliran Dasar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk membeli syiling Ripple sebenar
Di manakah lampu suluh telefon OnePlus?
Bagaimana untuk membuat tatal gambar dalam ppt
penggunaan storan setempat
Tutorial Laravel
Kaedah pendaftaran akaun Google
Windows tidak boleh mengakses laluan peranti atau penyelesaian fail yang ditentukan
Penyelesaian ralat httpstatus500