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

C# 如何将父目录的路径作为相对路径获取,c#,path,C#,Path,刚才我有一个这样的路径MyDir\Inner\Foo,我希望能够将它转换为MyDir\Inner 我的想法是使用Path.Combine(myRelativeDir,“…”),然后(出于用户显示目的)解析它以删除。 当我在网上研究这个问题时,我似乎只能找到涉及在路径之后执行路径的解决方案。GetFullPath合并来解决它,但这对我没有帮助,因为它会导致类似C:\RootFolders\that我想隐藏\MyDir\Inner的结果,我不想显示完整路径 标准库中是否有允许这样做的内容,或者我是否

刚才我有一个这样的路径
MyDir\Inner\Foo
,我希望能够将它转换为
MyDir\Inner

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

当我在网上研究这个问题时,我似乎只能找到涉及在
路径之后执行
路径的解决方案。GetFullPath
合并
来解决它,但这对我没有帮助,因为它会导致类似
C:\RootFolders\that我想隐藏\MyDir\Inner
的结果,我不想显示完整路径

标准库中是否有允许这样做的内容,或者我是否必须求助于某种类型的字符串操作

总之

输入:
MyDir\Inner\Foo
(相对路径)

期望输出:
MyDir\Inner
(保持相对路径)

不期望的输出:
C:\RootFolders\that我想隐藏\MyDir\Inner
(相对路径丢失)

不期望的输出:
内部
(只是名称,而不是相对路径)

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

 Console.WriteLine(Path.GetDirectoryName(@".\bin\debug"));

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

 Console.WriteLine(Path.GetDirectoryName(@".\bin\debug"));

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

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

我可能遗漏了一些东西,但看起来您需要Hi-Vlad,我只是尝试了一下,但它似乎仍然返回了一条绝对路径。请核对我的答案。您可以访问Name属性,该属性返回相对路径。全名有一个绝对的。我可能错过了一些东西,但看起来你需要Hi-Vlad,我只是给了它一个机会,但它似乎仍然返回一个绝对路径。请核对我的答案。您可以访问Name属性,该属性返回相对路径。全名有一个绝对值。