Amalan terbaik untuk bersarang menggunakan pernyataan dalam C#
Dalam program C#, adalah perkara biasa untuk menggunakan pembaca strim untuk melaksanakan operasi I/O. Untuk memastikan sumber dikeluarkan dengan betul, pembaca ini biasanya disertakan dalam pernyataan penggunaan. Walau bagaimanapun, kadangkala pernyataan menggunakan ini mungkin bersarang, seperti yang ditunjukkan dalam coretan kod berikut:
<code class="language-csharp">class IOOperations { public static bool CompareFiles(string filename) { // ... (代码省略了验证) ... using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) { using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { // ... (代码省略了比较逻辑) ... } } } }</code>
Peningkatan dalam bersarang menggunakan pernyataan
Dalam contoh ini, pernyataan penggunaan untuk outFile dan expFile bersarang. Reka bentuk ini kelihatan tidak konvensional dan mungkin menimbulkan kebimbangan sama ada sumber dikeluarkan dengan betul.
Kaedah pengoptimuman
Untuk menyelesaikan isu ini, pendekatan yang disyorkan ialah menghapuskan sarang dan menambah kurungan terbuka { selepas pernyataan menggunakan terakhir, seperti ditunjukkan di bawah:
<code class="language-csharp">class IOOperations { public static bool CompareFiles(string filename) { // ... (代码省略了验证) ... using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { // ... (代码省略了比较逻辑) ... } } }</code>
Pengubahsuaian ini memastikan bahawa kedua-dua pembaca strim akan dikeluarkan dengan betul selepas blok penggunaan selesai. Dengan mengikuti pendekatan yang disyorkan ini, kami boleh mengurus nested menggunakan pernyataan dengan berkesan dan mengekalkan pengurusan sumber yang betul dalam kod C# kami.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguruskan Pernyataan `menggunakan` Bersarang dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!