C# 文件。打开不';无法为已打开的文件引发IOException

C# 文件。打开不';无法为已打开的文件引发IOException,c#,ioexception,system.io.fileinfo,C#,Ioexception,System.io.fileinfo,无论文件是已打开还是已关闭,都会返回false 直到昨天天气还不错;今天,它没有像预期的那样工作 public bool isOpen(FileInfo file) { FileStream stream = null; try { stream = file.Open(FileMode.Open); } catch (Exception ex) { Logger.Error(ex.Message);

无论
文件
是已打开还是已关闭,都会返回
false

直到昨天天气还不错;今天,它没有像预期的那样工作

public bool isOpen(FileInfo file)
{
    FileStream stream = null;

    try
    {
        stream = file.Open(FileMode.Open);
    }
    catch (Exception ex)
    {
        Logger.Error(ex.Message);
        return true;
    }
    finally
    {
        if (stream != null)
            stream.Close();
    }
    return false;
}

尝试在StackOverflow中搜索“check file open[c#]”-已经有几个相关的问题和答案。请注意,在对某个文件执行或不执行某项操作之前,检查该文件是否已打开通常是没有意义的—如果这是您真正想要的—因为一旦您拥有了该信息,该信息就已经过时了。有关详细信息,请参阅上述其他/相关问题的答案/评论。您是否将环境从调试更改为发行版?编译器可能会注意到您无论如何都不使用流,并且基本上将函数减少为
return false
。另外,使用语句来保证流的处理。