如何获取父目录的路径作为相对路径



刚才我有这样一条MyDirInnerFoo路径,我希望能够将其转换为MyDirInner

我的想法是使用Path.Combine(myRelativeDir, "..")然后(出于用户显示目的(解决它以删除..

当我在网上研究这个问题时,我似乎只能找到涉及在Path.Combine后做一个Path.GetFullPath来解决它的解决方案,但这对我没有帮助,因为它会导致类似C:RootFoldersThatIWantToHideMyDirInner的东西,我不想显示完整的路径。

标准库中是否有任何允许这样做的内容,或者我是否必须诉诸某种字符串操作?

总结

输入:MyDirInnerFoo(相对路径(

期望输出:MyDirInner(保持相对路径(

不需要的输出:C:RootFoldersThatIWantToHideMyDirInner(相对路径丢失(

不需要的输出:Inner(只是名称,而不是相对路径(

这将获取父级并维护相对路径信息:

Console.WriteLine(Path.GetDirectoryName(@".bindebug"));

您可以使用 Path.GetFullPath 获取绝对路径,然后使用本文的答案将其更改为相对路径。简而言之,代码使用 Uri.MakeRelativeUri(( 方法。

相关内容

  • 没有找到相关文章

最新更新