【问题标题】:Escape a path with ".." (parent) in C#在 C# 中使用“..”(父级)转义路径
【发布时间】:2014-11-25 16:36:28
【问题描述】:

我有一个表示完整路径的字符串(注意这是在 OSX 上,但我相信它应该对任何操作系统都有类似的解决方案):

var path = "/Some/Path/../Projects/iOS/ThirdParty/myPath";

检查此路径是否存在返回 false:

Directory.Exists(path) // return false

是否有任何内置的辅助方法或类可以帮助将其转换为不包含“..”的完整路径?

【问题讨论】:

    标签: c# .net path


    【解决方案1】:

    您正在尝试将相对路径转换为绝对路径。您可以使用Path.GetFullPath 来执行此操作:

    var relativePath = "/Some/Path/../Projects/iOS/ThirdParty/myPath";
    var absolutePath = Path.GetFullPath(relativePath);
    

    【讨论】:

    • 太棒了,我要去爱荷华州农村当农民(他们在那里种地对吧?作为英国人,我不知道......)
    【解决方案2】:

    在声明中 var path = "/Some/Path/../Projects/iOS/ThirdParty/myPath";

    '/' 充当转义字符,您需要通过在开头附加@ 符号来声明语句,如下所示。

    var path = @"/Some/Path/../Projects/iOS/ThirdParty/myPath";

    【讨论】:

    • / 不是转义字符。你可能在想`\`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    相关资源
    最近更新 更多