Avatar ·

Como deletar todos os arquivos e pastas em um diretório em C#?

Olá a todos! Sou um desenvolvedor C# iniciante e me deparei com o seguinte problema. Preciso escrever uma função que limpe uma pasta de todos os arquivos e subpastas. Tentei várias maneiras, mas sempre algo dá errado. Aqui está meu código: ```csharp string path = @"C:\Temp\MyFolder"; if (Directory.Exists(path)) { Directory.Delete(path, true); Directory.CreateDirectory(path); } ``` O problema é que, ao tentar deletar a pasta com arquivos que estão sendo usados por outro processo, ocorre uma exceção IOException. E se tento deletar os arquivos um por um com File.Delete, as pastas permanecem e preciso deletá-las recursivamente, mas não consigo lidar com a aninhamento. Também tentei esta variação: ```csharp foreach (string file in Directory.GetFiles(path)) { File.Delete(file); } foreach (string dir in Directory.GetDirectories(path)) { Directory.Delete(dir, true); } ``` Mas se houver subpastas com arquivos dentro da pasta, Directory.GetDirectories não as retorna,