Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memadam Fail dan Folder dengan Cekap dari Direktori dalam C#?

Bagaimana untuk Memadam Fail dan Folder dengan Cekap dari Direktori dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 06:18:12487semak imbas

How to Efficiently Delete Files and Folders from a Directory in C#?

Memadam Fail dan Folder dalam Direktori Dengan Cekap Menggunakan C

Dalam banyak senario, pembangun menghadapi keperluan untuk mengalih keluar semua fail dan folder daripada direktori sambil mengekalkan direktori akar . C# menawarkan kaedah mudah untuk menyelesaikan tugas ini.

Untuk bermula, nyatakan objek DirectoryInfo yang menghala ke direktori sasaran:

System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");

Sekarang, ulangi fail dalam direktori dan padam setiap satu satu:

foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}

Seterusnya, ulangi direktori dalam direktori dan padam setiap satu secara rekursif:

foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}

Pendekatan ini mengalih keluar semua fail dan folder secara berkesan daripada direktori, meninggalkan hanya direktori akar sahaja.

Untuk kecekapan optimum, pertimbangkan untuk menggunakan EnumerateFiles() dan EnumerateDirectories() sebaliknya daripada GetFiles() dan GetDirectories(). Kaedah ini membenarkan pengiraan tambahan, mengelakkan overhed memuatkan keseluruhan koleksi ke dalam ingatan. Kod yang disemak menggunakan kaedah ini:

foreach (FileInfo file in di.EnumerateFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in di.EnumerateDirectories())
{
    dir.Delete(true); 
}

Dengan menggunakan pendekatan ini, anda boleh memadam semua fail dan folder dengan cekap daripada direktori sambil mengekalkan direktori akar.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Fail dan Folder dengan Cekap dari Direktori dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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