C:
是我的PC的启动驱动器。在根驱动器上调用GetParent()
DirectoryInfo dirInfo;
dirInfo = System.IO.Directory.GetParent(@"C:"); // Case 1
dirInfo = System.IO.Directory.GetParent(@"C:\"); // Case 2
案例1:
dirInfo
不是null,dirInfo.FullPath
设置为 “C:\ Program Files文件(x86)的\微软的Visual Studio 14.0 \ Common7” 我的机器上
案例2:
dirInfo
是空
空如果路径是根目录
“C:” 不被视为根。为什么不?
因为它根本不是文件夹?虽然我希望这个 –
有个例外,但自从MS-DOS的日子以来,'cd C:'意味着将目录更改为C:驱动器上的当前目录。 –
对于DOS,也许。对于期望路径或卷的命令,这是真的。 'GetParent'虽然需要一个路径并返回一个绝对路径。 'C:'不是一个有效的路径根路径,所以它被当作相对路径,就像'Directory.GetParent(“c”)''或'Directory.GetParent(“a”)'一样。对于所有这些情况,父目录是当前目录 –