【问题标题】:c# How to escape a directory path with differend letters?c#如何转义不同字母的目录路径?
【发布时间】:2017-01-20 01:07:12
【问题描述】:

你好,我有这个

string s = @"A:\"

而且我必须更改字母,所以我需要这个

string s= @" + Letter + :\"

我已经尝试了一些东西,但它很蹩脚......

【问题讨论】:

  • 除了你得到的所有答案:当你创建目录字符串时,你应该始终考虑使用Path.Combine

标签: c# string path escaping


【解决方案1】:

试试这个:

string s = Letter + @":\";

如果您使用的是 C# 6.0,则可以使用内插字符串。 (但你需要转义\

string s = $"{Letter}:\\";

【讨论】:

  • 你可以使用Regex.Unescape()来取消转义,非常简洁。
【解决方案2】:

您可以使用字符串格式来提供帮助。如果您使用的是 c# 6.0,还有字符串插值。

var Letter = "A";
string s = string.Format(@"{0}:\", Letter);

使用 c# 6.0 进行字符串插值

string s = $"{Letter}:\\";

【讨论】:

    【解决方案3】:

    您需要转义反斜杠,因为它是一个特殊字符,使用两个反斜杠,如下所示:

    string s = Letter + ":\\"
    

    或者您需要通过在其前面放置@ 来指示带有反斜杠的字符串应“逐字”解释,如下所示:

    string s = Letter + @":\"
    

    【讨论】:

      猜你喜欢
      • 2014-04-12
      • 2013-07-08
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 2012-01-25
      相关资源
      最近更新 更多