首页 >后端开发 >C++ >如何在 C# 中高效删除目录中的文件和子文件夹,同时保留根目录?

如何在 C# 中高效删除目录中的文件和子文件夹,同时保留根目录?

Patricia Arquette
Patricia Arquette原创
2025-01-11 06:37:41888浏览

How Can I Efficiently Delete Files and Subfolders from a Directory in C# While Preserving the Root Directory?

C#高效删除目录中的文件和文件夹

在处理目录时,经常需要删除目录中的所有内容,同时保留根目录本身。 这可以通过C#的System.IO.DirectoryInfo类高效实现。

方法:

要删除给定目录中的文件和子目录,请遵循以下步骤:

  1. 创建DirectoryInfo对象: 为目标目录创建一个DirectoryInfo对象。

    <code class="language-csharp">System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");</code>
  2. 删除文件: 使用GetFiles()EnumerateFiles()迭代目录中的文件。

    <code class="language-csharp">foreach (FileInfo file in di.GetFiles())
    {
        file.Delete();
    }</code>

    对于大型目录,EnumerateFiles()更高效,因为它允许在将整个集合加载到内存之前进行枚举。

  3. 删除目录: 同样,使用GetDirectories()EnumerateDirectories()迭代子目录。

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

    递归删除子目录:true参数设置为Delete()可确保删除所有子目录及其中的文件。

以上是如何在 C# 中高效删除目录中的文件和子文件夹,同时保留根目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn