【问题标题】:Namespace constant thingy for forward slash正斜杠的命名空间常量
【发布时间】:2009-11-04 10:53:36
【问题描述】:

正斜杠“/”的 .net 命名空间常量是什么

所以而不是:

somePath + "/" + someFile

我能做到:

somePath + .net.namespace.forwardslash + someFile

差别不大,但可能更整洁?

【问题讨论】:

    标签: c# .net namespaces


    【解决方案1】:

    System.IO.Path.DirectorySeparatorChar 是我想的你想要的。

    顺便说一句,更明智的做法是使用System.IO.Path.Combine(somePath,someFile)

    【讨论】:

    • 这么多的赞成票,甚至接受一个误导性的答案。 Path.DirectorySeparatorChar 返回“一个特定于平台的字符,用于在反映分层文件系统组织的路径字符串中分隔目录级别”(MSDN) - 因此在大多数.net 情况下它不会是正斜杠。但是,如果你只是问如何以安全的方式连接目录路径和文件名,那么答案是正确的(虽然问题是错误的)
    【解决方案2】:

    如果您需要,只需使用正斜杠,但如果您尝试组合文件名和路径,只需使用 System.IO.Path.Combine()。

    【讨论】:

    • 这不正确:System.IO.Path.DirectorySeparatorChar。但我没有投反对票,因为你提到了 Path.Combine。
    • 他是对的。在 Windows Path.DirectorySeparatorChar 返回反斜杠,在 Mono 中,当在 unixoid 环境中运行时,它可能是一个斜杠。使用 Path.Combine 是正确的方法。
    • 严格来说,这是正确答案。 OP 想要“constant 用于正斜杠的东西”。由于@MarcWittke 在另一个答案中提到的“特定于平台”的位, Path.DirectorySeparatorChar 不仅不可能是正斜杠,而且当您尝试将它用于一个时也不是恒定的并且会出错(就像 Path.DirectorySeparatorChar 一样)。结合())。 tl;dr 正斜杠常量是“/”
    【解决方案3】:

    你应该选择System.IO.Path.DirectorySeparatorChar

    【讨论】:

      【解决方案4】:

      正斜杠其实是AltDirectorySeparatorChar

      【讨论】:

        猜你喜欢
        • 2015-02-03
        • 1970-01-01
        • 1970-01-01
        • 2014-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多