多くのシナリオで、開発者はルート ディレクトリを保持しながらディレクトリからすべてのファイルとフォルダーを削除する必要に遭遇します。 。 C# では、このタスクを実行する簡単な方法が提供されています。
まず、ターゲット ディレクトリを指す DirectoryInfo オブジェクトをインスタンス化します。
System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");
次に、ディレクトリ内のファイルを反復処理して、それぞれを削除します。 one:
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); }
このアプローチを採用すると、ルート ディレクトリを保持したまま、ディレクトリからすべてのファイルとフォルダを効率的に削除できます。
以上がC# でディレクトリからファイルとフォルダーを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。