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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-11 08:34:41302ブラウズ

How to Delete All Files and Folders in a Directory While Keeping the Directory Itself in C#?

ルート ディレクトリを保持したまま 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 サイトの他の関連記事を参照してください。

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