ホームページ > バックエンド開発 > C++ > C# でディレクトリからファイルとフォルダーを効率的に削除するにはどうすればよいですか?

C# でディレクトリからファイルとフォルダーを効率的に削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-11 06:18:12
オリジナル
485 人が閲覧しました

How to Efficiently Delete Files and Folders from a Directory in C#?

C を使用したディレクトリ内のファイルとフォルダーの効率的な削除

多くのシナリオで、開発者はルート ディレクトリを保持しながらディレクトリからすべてのファイルとフォルダーを削除する必要に遭遇します。 。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート