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

ルート ディレクトリを保持したまま C# でファイルとフォルダーを削除するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-11 09:45:12395ブラウズ

How Can I Delete Files and Folders in C# While Keeping the Root Directory?

ルート ディレクトリを削除せずに C# でファイルとフォルダーを削除します

C# では、ルート ディレクトリを保持したまま、ディレクトリ内のすべてのファイルとフォルダーを削除できます。この手法は、ディレクトリ構造を失わずにディレクトリの内容をクリーンアップする必要がある場合に役立ちます。

1 つの方法は、DirectoryInfo クラスを使用することです:

<code class="language-csharp">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>

このコードは、まず、指定されたパスの DirectoryInfo オブジェクトを作成します。次に、GetFiles() を使用してディレクトリ内のファイルを反復処理し、それぞれを削除します。その後、GetDirectories() を使用してディレクトリを反復処理し、それらを再帰的に削除 (true パラメーター) して、すべてのコンテンツが確実に削除されるようにします。

多数のファイルを含むディレクトリの場合、効率を高めるために、EnumerateFiles() メソッドと EnumerateDirectories() メソッドを使用できます。

<code class="language-csharp">foreach (FileInfo file in di.EnumerateFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in di.EnumerateDirectories())
{
    dir.Delete(true); 
}</code>

EnumerateFiles()EnumerateDirectories() は部分的な列挙を許可し、コレクション全体をメモリにロードすることを回避することで、大規模なディレクトリの効率を高めます。

どちらの方法でも、ルート ディレクトリを保持したまま、指定されたディレクトリ内のすべてのファイルとフォルダーを削除するという目的を達成できます。

以上がルート ディレクトリを保持したまま C# でファイルとフォルダーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。