File.Delete不删除文件

kev*_*aub 14 .net c#

我试图删除一个文件,但以下代码不会这样做.它不会抛出异常,但文件仍然存在.那可能吗?

try
{
    File.Delete(@"C:\File.txt");
} 
catch(Exception e)
{
    Console.WriteLine(e);
}
Run Code Online (Sandbox Code Playgroud)

如果无法删除该文件,则应打印出异常,但不会.它是否应该静默失败(如在File.Delete方法中吞下任何错误)?

Mit*_*eat 19

File.Delete如果指定的文件不存在,则不会抛出异常.[某些以前版本的MSDN文档错误地声明它确实如此].

try 
{ 
    string filename = @"C:\File.txt";
    if (File.Exists(filename))
    { 
        File.Delete(filename);
    }
    else
    {
        Debug.WriteLine("File does not exist.");
    } 
}  
catch(Exception e) 
{ 
    Console.WriteLine(e); 
} 
Run Code Online (Sandbox Code Playgroud)

  • @Mitch»我不认为这是对的.从MSDN的第二句话:"如果指定的文件不存在,则_An异常不被抛出." http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx (4认同)