【问题标题】:Escape double quote in formatted string C#在格式化的字符串 C# 中转义双引号
【发布时间】:2014-03-26 17:50:42
【问题描述】:

我有一个StringBuilder,我正在尝试向其附加一个格式化字符串。

不幸的是,转义双引号的常用方法似乎不起作用。

 StringBuilder sb = New StringBuilder();
 sb.AppendFormat("{0},\"{1}\" and \"{2}\",{3}", stringVariable, stringToQuote, otherStringToQuote, anotherStringVariable)
 sb.AppendLine();


 //resulting text: 
 //item0, item1 and "item2", item3

奇怪的是,项目 {1} 没有被引用,但项目 {2} 被引用。这是怎么回事?

编辑:

更多信息,以防相关:我正在将StringBuilder 的内容写入 csv 文件(逗号分隔)。上面的AppendFormat 调用在 csv 中添加了一行。

【问题讨论】:

  • {2} 之后的转义符在引号的错误一侧
  • 它在我身边运行良好。改正错字后可以再试一次吗?
  • 我确实又试了一次,还是没有运气。这让我发疯了。
  • 当代码适用于其他人但不适用于您时,标准编程的事情,清除我们的二进制文件夹并重新编译。有时,您会得到一份陈旧的副本。

标签: c# escaping string-formatting stringbuilder double-quotes


【解决方案1】:

你有错别字

"{0},\"{1}\" and \"{2}"\,{3}"

试试

"{0},\"{1}\" and \"{2}\",{3}"

【讨论】:

  • 现已修复。然而,这不是问题(我在复制代码后替换内容时出错了)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
相关资源
最近更新 更多