我有一个Directory.delete函数的问题?

Shi*_*ira -1 c#

看看我的代码:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        try
        {
            if (Directory.Exists(Path.Combine(desktopPath, "Hackers.avi")))
                Directory.Delete(Path.Combine(desktopPath, "Hackers.avi"), true);
Run Code Online (Sandbox Code Playgroud)

运行文件后我的桌面上仍然存在,为什么?

Mar*_*ers 6

它不太可能Hackers.avi是目录 - .avi通常用作视频文件的扩展名(有关更多信息,请参阅维基百科上的音频视频交错).

尝试使用File.Delete而不是Directory.Delete:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
try
{
    string pathToFile = Path.Combine(desktopPath, "Hackers.avi");
    File.Delete(pathToFile);
    // etc...
Run Code Online (Sandbox Code Playgroud)

我也省略了调用,File.Exists因为在删除文件之前不必检查文件是否存在.File.Delete如果文件不存在则不抛出.