c#为什么当路径为“C:”时,directoryInfo将我带到应用程序文件夹?

为什么当我给出路径“c:”时,它直接将我改为应用程序文件夹?

static void Main(string[] args) { DirectoryInfo dir = new DirectoryInfo("c:"); Console.WriteLine(dir.FullName); Console.ReadLine(); } 

输出如下:

c:\ users … \ documents \ visual studio 2010 \ projects \ consoleApplication9 \ bin \ debug

但是当我给@"c:\"它会转到磁盘c:尽管"d:"@"d:\"占用磁盘d: .

所以我需要一种让"c:"进入磁盘c:

提前致谢!

 static void Main(string[] args) { string YourDir = "c:"; if (!YourDir.Substring(YourDir.Length - 1, 1).Equals(@"\")) YourDir += @"\"; DirectoryInfo dir = new DirectoryInfo(YourDir); Console.WriteLine(dir.FullName); Console.ReadLine(); } 

只是"c:"表示“C盘上的当前目录”,而@"c:\"表示“C盘的根目录”。 这在命令提示符下的工作方式相同…

C:只是卷说明符,因此它将更改为该卷上的当前路径,这将是应用程序的工作路径。

D:简单地将您带到root用户,因为该卷的当前文件夹恰好位于root用户。

在此处输入图像描述

使用以下内容

  static void Main(string[] args) { DirectoryInfo dir = new DirectoryInfo(@"c:\"); Console.WriteLine(dir.FullName); Console.ReadLine(); } 

执行c时的基本目录:应用程序无法理解,因此它返回启动/运行应用程序的目录。

请注意dir = {。}如果您已经传入文字目录路径,那么您将得到预期的结果。