Maison >développement back-end >C++ >Comment puis-je supprimer efficacement des fichiers et des sous-dossiers d'un répertoire en C# tout en préservant le répertoire racine ?

Comment puis-je supprimer efficacement des fichiers et des sous-dossiers d'un répertoire en C# tout en préservant le répertoire racine ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-11 06:37:41889parcourir

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

C# Supprimer efficacement les fichiers et dossiers dans les répertoires

Lorsqu'il s'agit de répertoires, il est souvent nécessaire de supprimer tout le contenu du répertoire tout en conservant le répertoire racine lui-même. Cela peut être réalisé efficacement grâce à la classe System.IO.DirectoryInfo de C#.

Méthode :

Pour supprimer des fichiers et sous-répertoires dans un répertoire donné, suivez ces étapes :

  1. Créer un objet DirectoryInfo : Créez un objet DirectoryInfo pour le répertoire cible.

    <code class="language-csharp">System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");</code>
  2. Supprimer des fichiers : Utilisez GetFiles() ou EnumerateFiles() pour parcourir les fichiers d'un répertoire.

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

    Pour les grands répertoires, EnumerateFiles() est plus efficace car il permet à l'énumération de se produire avant de charger la totalité de la collection en mémoire.

  3. Supprimer le répertoire : De même, utilisez GetDirectories() ou EnumerateDirectories() pour parcourir les sous-répertoires.

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

    Supprimer récursivement les sous-répertoires : Définir le paramètre true sur Delete() garantit que tous les sous-répertoires et fichiers qu'ils contiennent sont supprimés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn