Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memadam Semua Fail dan Folder dalam Direktori Sambil Menyimpan Direktori Itu Sendiri dalam C#?

Bagaimana untuk Memadam Semua Fail dan Folder dalam Direktori Sambil Menyimpan Direktori Itu Sendiri dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-11 08:34:41
asal
303 orang telah melayarinya

How to Delete All Files and Folders in a Directory While Keeping the Directory Itself in C#?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan