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属性,该属性返回相对路径。全名有一个绝对值。