Bagaimana untuk memadam semua fail dan folder dalam C# sambil mengekalkan direktori akar
Soalan:
Bagaimana untuk memadam semua fail dan folder di bawah direktori tertentu dalam C# sambil mengekalkan direktori akar itu sendiri?
Penyelesaian:
Untuk ini anda boleh menggunakan kelas System.IO.DirectoryInfo
dalam C#. Begini cara melakukannya:
<code class="language-csharp">// 为目标目录创建一个 DirectoryInfo 对象 System.IO.DirectoryInfo di = new DirectoryInfo("YourPath"); // 遍历目录中的所有文件并删除它们 foreach (FileInfo file in di.GetFiles()) { file.Delete(); } // 遍历目录中的所有子目录并递归删除它们 foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }</code>
Pengoptimuman:
Jika direktori mengandungi sejumlah besar fail, anda boleh menggunakan EnumerateFiles()
dan EnumerateDirectories()
bukannya GetFiles()
dan GetDirectories()
. Ini berpotensi lebih cekap kerana ia membolehkan anda mula menghitung koleksi sebelum koleksi dimuatkan sepenuhnya ke dalam ingatan.
<code class="language-csharp">// 遍历目录中的所有文件并删除它们 foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } // 遍历目录中的所有子目录并递归删除它们 foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
Pengoptimuman ini amat berguna apabila bekerja dengan direktori yang besar dan boleh meningkatkan prestasi. Ambil perhatian bahawa tiada kelebihan yang jelas untuk menggunakan GetFiles()
dan GetDirectories()
untuk masalah ini.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Semua Fail dan Folder dalam Direktori Sambil Menyimpan Direktori Itu Sendiri dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!