Comment supprimer tous les fichiers et dossiers en C# tout en conservant le répertoire racine
Question :
Comment supprimer tous les fichiers et dossiers d'un répertoire spécifique en C# tout en conservant le répertoire racine lui-même ?
Solution :
Pour cela vous pouvez utiliser la classe System.IO.DirectoryInfo
en C#. Voici comment procéder :
<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>
Optimisation :
Si le répertoire contient un grand nombre de fichiers, vous pouvez utiliser EnumerateFiles()
et EnumerateDirectories()
au lieu de GetFiles()
et GetDirectories()
. Ceci est potentiellement plus efficace car cela vous permet de commencer à énumérer la collection avant que celle-ci ne soit complètement chargée en mémoire.
<code class="language-csharp">// 遍历目录中的所有文件并删除它们 foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } // 遍历目录中的所有子目录并递归删除它们 foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
Cette optimisation est particulièrement utile lorsque vous travaillez avec des répertoires volumineux et peut améliorer les performances. Notez qu'il n'y a aucun avantage évident à utiliser GetFiles()
et GetDirectories()
pour ce problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!