C#.NET中如何将带斜杠的双引号正确拼接到字符串值中
问题原因
你的现有代码只在文本前后拼接了普通双引号,没有加入要求的字面反斜杠,最终输出为"Hello World",不符合预期。
C# 普通字符串中,反斜杠\是转义引导符:
- 书写
\"时,运行时会解析为1个字面双引号 - 要输出1个字面反斜杠,必须书写
\\,两个连续反斜杠才会被解析为1个实际的\字符
正确实现
你需要在每个要显示的反斜杠位置做额外转义,最终拼接出目标字符序列:开头为"+\+",接Hello World,结尾为\+"+",对应代码如下:
string term = "Hello World"; string output = "\"\\\"" + term + "\\\"\"";
运行后output的实际值就是预期的"\"Hello World\""。
如果觉得连续转义符可读性差,可以使用逐字字符串(加@前缀)书写,逐字字符串中反斜杠不需要额外转义,仅需要把双引号写为两个连续双引号即可,代码如下:
string term = "Hello World"; string output = @"""\""" + term + @"\""""";
内容的提问来源于stack exchange,提问作者sridharnetha
相关产品推荐
相关产品推荐

