You need to enable JavaScript to run this app. 如何避免C#字符串输出时打印转义字符?
优惠活动
大模型
产品
解决方案
定价
更多

如何避免C#字符串输出时打印转义字符?

C# 为字符串包裹双引号的正确实现

你之前输出出现多余转义符的核心原因,是拼接过程中把反斜杠错误作为实际字符串内容写入了,以下是几种可直接落地的正确写法,最终都能输出"hello"格式的结果:

  • 标准转义写法:C#中\"是编译器识别的双引号转义标记,本身不会作为内容输出,正确拼接代码为
    string result = "\"" + mystring + "\"";
    
  • 内插字符串写法(C# 6.0及以上版本支持,可读性更强):
    string result = $"\"{mystring}\"";
    
  • 逐字字符串写法:通过@修饰的逐字字符串不需要反斜杠转义,内部连续两个双引号对应一个实际的双引号字符,完全规避手写转义的失误:
    string result = @"""" + mystring + @"""";
    
  • 字符常量拼接:直接使用C#的字符字面量表示双引号,完全不需要转义规则,零失误:
    // 单引号包裹的双引号是char类型的双引号常量
    string result = '"' + mystring + '"';
    

常见认知误区:很多人在IDE调试器中看到字符串值显示为\"hello\",就认为转义符被写入了字符串,这其实是调试器的可视化展示规则——为了清晰标识字符串内部的特殊字符,调试器会自动给实际的双引号加上反斜杠前缀做展示,这类场景下你把字符串输出到控制台、写入文件时,实际内容是不带反斜杠的,和期望的"hello"完全一致。
如果排除调试器展示的问题,最终输出确实带反斜杠,那就是代码里多写了一层反斜杠,比如错误写成了"\\"" + mystring + "\\"",这种写法下反斜杠会成为字符串的实际内容,修正为单斜杠的转义写法即可。


内容的提问来源于stack exchange,提问作者goldonif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 21:54:07