Heim >Backend-Entwicklung >C++ >Wie lösche ich Dateien und Ordner effizient aus einem Verzeichnis in C#?
In vielen Szenarien stehen Entwickler vor der Notwendigkeit, alle Dateien und Ordner aus einem Verzeichnis zu entfernen und gleichzeitig das Stammverzeichnis beizubehalten . C# bietet eine unkomplizierte Methode zum Ausführen dieser Aufgabe.
Instanziieren Sie zunächst ein DirectoryInfo-Objekt, das auf das Zielverzeichnis zeigt:
System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");
Durchlaufen Sie nun die Dateien im Verzeichnis und löschen Sie sie jeweils eins:
foreach (FileInfo file in di.GetFiles()) { file.Delete(); }
Als nächstes durchlaufen Sie die Verzeichnisse im Verzeichnis und löschen jedes einzelne rekursiv:
foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }
Dieser Ansatz entfernt effektiv alle Dateien und Ordner aus dem Verzeichnis und lässt nur das Stammverzeichnis intakt.
Für optimale Effizienz sollten Sie stattdessen die Verwendung von EnumerateFiles() und EnumerateDirectories() in Betracht ziehen von GetFiles() und GetDirectories(). Diese Methoden ermöglichen eine inkrementelle Aufzählung, wodurch der Mehraufwand für das Laden der gesamten Sammlung in den Speicher vermieden wird. Der überarbeitete Code verwendet diese Methoden:
foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }
Mit diesem Ansatz können Sie alle Dateien und Ordner effizient aus einem Verzeichnis löschen und gleichzeitig das Stammverzeichnis beibehalten.
Das obige ist der detaillierte Inhalt vonWie lösche ich Dateien und Ordner effizient aus einem Verzeichnis in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!