GetParent('c:\1\2\')的结果是'c:\1\2'。
GetParent('c:\1\2')的结果是'c:\1'。
这是正常/预期的行为吗?如果是的话,背后的逻辑是什么?
发布于 2016-02-16 14:44:16
这种行为看上去可能有点奇怪,但这是故意的。这个类是基于.net类Directory建模的。文档 for Directory.GetParent说:
此方法返回的字符串由路径中的所有字符组成,但不包括最后一个DirectorySeparatorChar或AltDirectorySeparatorChar。例如,将路径"C:\Directory\SubDirectory\test.txt“传递给GetParent返回”C:\目录\子目录“。传递“C:\目录\子目录”返回“C:\目录”。但是,传递“C:\目录\子目录\”返回“C:\目录\子目录”,因为结束目录分隔符在"SubDirectory“之后。
https://stackoverflow.com/questions/35429699
复制相似问题