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 = {。}如果您已经传入文字目录路径,那么您将得到预期的结果。