为什么Directory.GetParent()在提供尾部斜杠时返回相同的目录?

时间:2016-05-05 16:01:16

标签: c# .net

Directory.GetParent(@"C:\stuff");  //Returns C:\
Directory.GetParent(@"C:\stuff\"); //Returns C:\stuff

为什么会返回两个不同的结果?适当的用法是什么?第一个例子对我来说似乎是正确的结果。

来自MSDN:

  

此方法返回的字符串包含路径中的所有字符,但不包括上一个DirectorySeparatorCharAltDirectorySeparatorChar。例如,将路径“C:\ Directory \ SubDirectory \ test.txt”传递给GetParent将返回“C:\ Directory \ SubDirectory”。传递“C:\ Directory \ SubDirectory”返回“C:\ Directory”。但是,传递“C:\ Directory \ SubDirectory \”会返回“C:\ Directory \ SubDirectory”,因为结束目录分隔符位于“SubDirectory”之后。

它似乎只是天真地基于目录分隔符,但我想不出一个很好的理由为什么它不会更聪明。是否有理由像这样实施它?

1 个答案:

答案 0 :(得分:-1)

因为c:\ stuff你得到的东西是c:\和c:\ stuff \你得到的东西是c:\ stuff