ルート ディレクトリを保持したまま C# ですべてのファイルとフォルダーを削除する方法
質問:
C# でルート ディレクトリ自体を保持したまま、特定のディレクトリにあるすべてのファイルとフォルダーを削除するにはどうすればよいですか?
解決策:
これには、C# の System.IO.DirectoryInfo
クラスを使用できます。その方法は次のとおりです:
<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>
最適化:
ディレクトリに多数のファイルが含まれている場合は、EnumerateFiles()
と EnumerateDirectories()
の代わりに GetFiles()
と GetDirectories()
を使用できます。これにより、コレクションがメモリに完全に読み込まれる前にコレクションの列挙を開始できるため、より効率的になる可能性があります。
<code class="language-csharp">// 遍历目录中的所有文件并删除它们 foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } // 遍历目录中的所有子目录并递归删除它们 foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
この最適化は、大規模なディレクトリを操作する場合に特に役立ち、パフォーマンスを向上させることができます。この問題に対して GetFiles()
と GetDirectories()
を使用することには明らかな利点がないことに注意してください。
以上がディレクトリ自体を C# に保持したまま、ディレクトリ内のすべてのファイルとフォルダーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。