Avatar ·

Wie lösche ich alle Dateien und Ordner in einem Verzeichnis in C#?

Hallo zusammen! Ich bin ein Anfänger in C#-Entwicklung und bin auf ein Problem gestoßen. Ich muss eine Funktion schreiben, die einen Ordner von allen Dateien und Unterordnern bereinigt. Ich habe mehrere Methoden ausprobiert, aber jedes Mal läuft etwas schief. Hier ist mein Code: ```csharp string path = @"C:\Temp\MyFolder"; if (Directory.Exists(path)) { Directory.Delete(path, true); Directory.CreateDirectory(path); } ``` Das Problem ist, dass beim Versuch, einen Ordner mit Dateien zu löschen, die von einem anderen Prozess verwendet werden, eine IOException ausgelöst wird. Wenn ich versuche, Dateien einzeln über File.Delete zu löschen, bleiben die Ordner übrig, und ich muss sie rekursiv löschen, aber ich komme mit der Verschachtelung nicht klar. Ich habe auch diese Variante ausprobiert: ```csharp foreach (string file in Directory.GetFiles(path)) { File.Delete(file); } foreach (string dir in Directory.GetDirectories(path)) { Directory.Delete(dir, true); } ``` Aber wenn der Ordner Unterordner mit Dateien enthält, gibt Directory.GetDirectories diese nicht zurück.