为驱动器根创建DirectoryInfo对象

时间:2017-07-18 19:56:20

标签: c# .net directory

在C#程序中,我正在创建DirectoryInfo的实例。通常,在目录名称之后似乎不需要尾部斜杠。但是,如果我传入“C:”,而不是获取我的硬盘驱动器的根目录,我得到我的可执行文件所在的目录!这当然看起来像一个错误,但是有一些隐藏的行为,我错过了吗?

1 个答案:

答案 0 :(得分:2)

在文档中没有明确地提到它,但仅使用(驱动器):在列出的那些列表中没有列为有效的路径规范。

您正在实现的行为已经实现,您可以从.NET源代码中看到:

http://referencesource.microsoft.com/#mscorlib/system/io/directoryinfo.cs,90

Init方法(从构造函数调用)检查这种情况,如果找到它,则使用当前工作目录("。")。根据您启动EXE的方式,当前工作目录可以是EXE的位置。