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()
則效率更高GetFiles()
,因?yàn)樵谀褂?code>EnumerateFiles()時(shí)可以在返回整個(gè)集合之前開始枚舉它,而不是GetFiles()
在開始枚舉之前需要在內(nèi)存中加載整個(gè)集合的位置。在這里看到這個(gè)引用:
因此,當(dāng)您使用許多文件和目錄時(shí),EnumerateFiles()可以更有效。
這同樣適用于EnumerateDirectories()
和GetDirectories()
。所以代碼是:
foreach (FileInfo file in di.EnumerateFiles()){
file.Delete(); }foreach (DirectoryInfo dir in di.EnumerateDirectories()){
dir.Delete(true); }
出于這個(gè)問題的目的,沒有理由使用GetFiles()
和GetDirectories()