【发布时间】: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