2012-02-03 28 views
5

为什么当我给路径“C:”它直接改变我的应用程序文件夹?c#为什么当路径是“C:”directoryInfo带我到应用程序文件夹?

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

输出如下:

C:\用户\文档\ Visual工作室 2010 \项目\ consoleApplication9 \ BIN \调试

但是,当我尽管"d:"@"d:\"需要到磁盘d:,但它给出@"c:\"它到磁盘c:

所以我需要一种方法来让"c:"需要磁盘c:

提前感谢!

+3

因为这是它是如何自1983年以来的工作,这将是混乱的变化现在! – 2012-02-03 14:47:45

+0

试试'DirectoryInfo dir = new DirectoryInfo(“c:\\”);'或'DirectoryInfo dir = new DirectoryInfo(@“c:\”);'。 – 2012-02-03 14:51:37

+0

不适用于我的应用程序我的应用程序我只是编辑我的问题..检查出 – 2012-02-03 14:56:36

回答

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(); 
    } 
+0

你是唯一得到我的观点..所以我想这是唯一的方法来做正确的 非常感谢 – 2012-02-03 14:57:55

+0

你是唯一的谁得到了我的观点..所以我想这是唯一的方法做对 非常感谢 – 2012-02-03 14:58:11

+5

@MurHafSoz:如果很多人是不理解你,你应该考虑更清楚地解释自己。 – 2012-02-03 16:31:18

6

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

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

+0

这意味着你应该使用'C:\'它指定的磁盘上的路径以及 – linkerro 2012-02-03 14:41:58

15

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

0

enter image description here

当你做c。使用以下

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

的基本目录的时候:应用程序不明白,所以它将返回应用程序启动/运行所在的目录。

注意DIR = {}如果您愿意,你会得到预期的结果的文本目录路径已经过去了..

相关问题