这是一个很常见的问题,但我对解决它感到困惑。
在C#中以文件路径作为命令行参数。
如果我输入"F:\\",那么这个程序可以完美地运行。
但是当我输入"F:\"时,输出结果会变成F:"。
我知道这是由于反斜杠转义字符造成的。
但我的问题是如何在不修改用户输入的情况下解决这个问题,因为从逻辑上讲,用户输入是正确的。
在这种情况下,是否有可能在不修改用户输入的情况下获得正确的路径?
我也知道有@字符可以使用。
但正如我所说,这是命令行参数,所以字符串已经在变量中了。
我也读了一些博客,但仍然无法解决我的问题。
C# Command-Line Parsing of Quoted Paths and Avoiding Escape Characters
编辑:实际上,我的程序是列出目录中的所有文件,因此我首先检查Directory.Exists(命令行参数),然后获取所有文件的列表,如果目录存在。
好的,那么在这种情况下,当用户给出如上所示的命令行参数时,从逻辑上讲驱动器是存在的,但由于转义字符,它返回false。
想象一下按照以下方式打印命令行参数。
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0}", args[0]);
Console.Read();
}
}
我对C#的知识非常少,感谢你的帮助。