C#GetFullPath行为

时间:2018-06-16 11:20:49

标签: c#

当我将驱动器号传递给Path.GetFullPath方法时,如下所示

string path = @"C:";
string fullPath = Path.GetFullPath(path);
Console.WriteLine(fullPath);

我得到了以下输出

C:\\Users\\mat.sa\\Documents\\Visual Studio 2015\\Projects\\ConsoleApplication3\\ConsoleApplication3\\bin\\Debug

我不明白为什么GetFullPath会返回上面的结果。 我认为应该是

C:

2 个答案:

答案 0 :(得分:7)

出于历史原因,这就是路径的工作方式。 C:指的是C盘。 \指的是根目录,但您没有指定。

当前目录已经在C盘上时,C:不需要更改任何内容,因此它只表示您已经在的目录。

如果C驱动器上的当前目录不是,则C:将有效解析为C:\

答案 1 :(得分:1)

尝试

string path = @"C:\";
string fullPath = Path.GetFullPath(path);
Console.WriteLine(fullPath);