c#File.Exists始终使用value属性返回false

时间:2018-06-01 09:30:13

标签: c# visual-studio-2017

在调试过程中,我发现了一些烦人的东西。 我的驱动器上有一个文件,我想知道为什么如果我使用文件存在函数它总是返回false,使用属性值。我也尝试在立即窗口这里是结果

ACGateLoginSystem.MAP_PATH == @"‪D:\Capture001.png" | true

?File.Exists(ACGateLoginSystem.MAP_PATH) | false

?File.Exists("D:\\Capture001.png") | true

我使用的是Windows 10最新版本和2017年视觉工作室。

2 个答案:

答案 0 :(得分:1)

以下是为我工作。

namespace ConsoleApplication1
{
    class LoginSystem
    {
        public string MAP_PATH { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            LoginSystem ACGateLoginSystem = new LoginSystem();
            ACGateLoginSystem.MAP_PATH = @"D:\1.png";

            if (File.Exists(ACGateLoginSystem.MAP_PATH))
                Console.WriteLine("File Exists");

            if (File.Exists("D:\\1.png"))
                Console.WriteLine("File Exists - with direct path");

            Console.ReadLine();
        }
    }
}

输出:enter image description here

答案 1 :(得分:0)

反斜杠字符\是C#(和任何类C语言)中的特殊字符。它与第二个一起使用以定义特殊字符。因此,这将起作用:

File.Exists("D:\\Capture001.png")

这应该有效

File.Exists(@"D:\Capture001.png")

这不起作用

File.Exists("D:\Capture001.png")