5

为什么当我给出路径“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:

提前致谢!

4

4 回答 4

15

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

于 2012-02-03T14:41:14.067 回答
6

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

D:将您带到根目录只是因为该卷的当前文件夹恰好位于根目录。

于 2012-02-03T14:40:45.330 回答
2
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(); 
    } 
于 2012-02-03T14:45:26.530 回答
0

在此处输入图像描述

使用以下

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

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

请注意, dir = {.} 如果您传入一个文字目录路径,您将获得预期的结果..

于 2012-02-03T14:43:48.110 回答