C# 中如何刪除所有檔案和資料夾,同時保留根目錄
問題:
如何在 C# 中刪除特定目錄下的所有檔案和資料夾,同時保留根目錄本身?
解:
為此,您可以使用 C# 中的 System.IO.DirectoryInfo
類別。以下是操作方法:
// 为目标目录创建一个 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); }
最佳化:
如果目錄包含大量文件,您可以使用 EnumerateFiles()
和 EnumerateDirectories()
來代替 GetFiles()
和 GetDirectories()
。這可能更有效率,因為它允許您在集合完全載入到記憶體之前開始枚舉集合。
// 遍历目录中的所有文件并删除它们 foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } // 遍历目录中的所有子目录并递归删除它们 foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }
這種最佳化在處理大型目錄時尤其有用,可以提高效能。請注意,對於這個問題,使用 GetFiles()
和 GetDirectories()
沒有明顯的優勢。
以上是C# 如何刪除目錄中的所有檔案和資料夾,同時保留目錄本身?的詳細內容。更多資訊請關注PHP中文網其他相關文章!