【发布时间】:2011-09-09 19:21:39
【问题描述】:
我在尝试访问我的 c: 驱动器的子目录时遇到了一个奇怪的情况:
首先我尝试了以下代码,输出为 0(零):
MessageBox.Show(new DirectoryInfo("c:").GetDirectories().Length.ToString());
但是当添加'\'到路径(c:)时,它显示了c:驱动器中子文件夹的确切数量。
MessageBox.Show(new DirectoryInfo("c:\\").GetDirectories().Length.ToString());
但尝试了另一个驱动器 (d:),例如:
MessageBox.Show(new DirectoryInfo("d:").GetDirectories().Length.ToString());
它检索所有子目录。
谁能解释为什么会这样?
谢谢各位。现在我明白了只是 "c:" 返回当前目录而不是 root "c:\"。但我没有收到任何困惑提到的错误。
【问题讨论】:
-
我希望你在第二个例子中转义了`\`。
-
当您只使用 C: 时,您实际上会获得该驱动器的默认目录。这是相当随机的。
标签: c# path drive getdirectories