小编Fis*_*eer的帖子

即使文件夹已被删除,DirectoryInfo.Exists 也会返回 true

我正在创建一个临时文件夹,其中有一个文件夹,位于用户在应用程序启动时选择的文件夹中。我创建了一个删除按钮,当用户使用该应用程序时,它应该删除在其中创建的临时文件夹和文件。

我首先单击删除按钮并删除文件和文件夹,如果我再次单击删除按钮,DirectoryInfo.Exist 方法仍然返回 true,即使我作为参数输入的文件夹不再存在,并且由于它true 我收到一个错误,因为它试图删除一个不存在的文件夹。

我很感激任何帮助:)

C#

if (FilePaths.mainDirectory.Exists)
{
    if (DirectoryNotEmpty(FilePaths.mainDirectory.FullName))
    {
        if (DirectoryNotEmpty(FilePaths.actionDirectory.FullName))
        {
            foreach (var file in FilePaths.actionDirectory.GetFiles()) file.Delete();
        }
        Directory.Delete(FilePaths.actionDirectory.FullName);

        foreach (var file in FilePaths.mainDirectory.GetFiles()) file.Delete();
        Directory.Delete(FilePaths.mainDirectory.FullName);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是 DirectoryInfo 对象的实例化

public static string mainFolder = "";
public static string actionFolder = "";
public static DirectoryInfo mainDirectory;
public static DirectoryInfo actionDirectory;

public static void CreateTemporaryFolders()
{
    if (mainFolder != "")
    {
        actionFolder = Path.Combine(mainFolder, "Action Files");

        mainDirectory = new DirectoryInfo(mainFolder);
        actionDirectory = new DirectoryInfo(actionFolder);
    } …
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
1
解决办法
65
查看次数

标签 统计

c# ×1