C# File.Exists 似乎记得文件存在

C# File.Exists seems to remember that the file existed

我目前正在开发一个简单的 winforms 重命名器,但我不知道如何修复包含 !File.Exists 的 IF,因为当我按下第二个按钮并返回到第一个按钮时,它就可以了IF 和 ELSE 都不知道为什么。

这是给我带来麻烦的代码:

string french = readpath + "\data\Fallout4 - Voices_fr.ba2";
string german = readpath + "\data\Fallout4 - Voices_de.ba2";
string voices = readpath + "\data\Fallout4 - Voices.ba2";
if (French.Checked)
{
    if (!File.Exists(german))
    {
        try
        {
            File.Move(voices, german);
            File.Move(french, voices);
            label1.Text = "Game set to French";
        }

        catch
        {
            label1.Text = "file doesn't exist";
        }
    }
    else
    {
        label1.Text = "Game already in French";
    }

}

if (German.Checked)
{
    if (!File.Exists(french))
    {
        try
        {
            File.Move(voices, french);
            File.Move(german, voices);
            label1.Text = "Game set to German";
        }

        catch
        {
            label1.Text = "file doesn't exist";
        }
    }
    else
    {
        label1.Text = "Game already in German";
    }
}

该代码检查德文文件是否不存在,并由此确定语音文件当前是德文的,因此它尝试更改为法文,效果很好,但是当我在第一个 IF 和第二个 IF 它仍然可以很好地重命名文件,但是 IF 和 ELSE 都完成了,这对我来说很奇怪,所以标签一直在说 Game already in French/German 取决于我点击的收音机。

我的问题是收音机被执行了两次,与 File.Exists 无关,感谢所有帮助