Directory.GetParent(@"C:\stuff"); //Returns C:\
Directory.GetParent(@"C:\stuff\"); //Returns C:\stuff
为什么会返回两个不同的结果?适当的用法是什么?第一个例子对我来说似乎是正确的结果。
来自MSDN:
此方法返回的字符串包含路径中的所有字符,但不包括上一个
DirectorySeparatorChar
或AltDirectorySeparatorChar
。例如,将路径“C:\ Directory \ SubDirectory \ test.txt”传递给GetParent将返回“C:\ Directory \ SubDirectory”。传递“C:\ Directory \ SubDirectory”返回“C:\ Directory”。但是,传递“C:\ Directory \ SubDirectory \”会返回“C:\ Directory \ SubDirectory”,因为结束目录分隔符位于“SubDirectory”之后。
它似乎只是天真地基于目录分隔符,但我想不出一个很好的理由为什么它不会更聪明。是否有理由像这样实施它?
答案 0 :(得分:-1)
因为c:\ stuff你得到的东西是c:\和c:\ stuff \你得到的东西是c:\ stuff