C# 格式字符串C中的转义双引号#
我有一个C# 格式字符串C中的转义双引号#,c#,escaping,string-formatting,stringbuilder,double-quotes,C#,Escaping,String Formatting,Stringbuilder,Double Quotes,我有一个StringBuilder,我正试图将一个格式化的字符串附加到它 不幸的是,通常的双引号转义方法似乎不起作用 StringBuilder sb = New StringBuilder(); sb.AppendFormat("{0},\"{1}\" and \"{2}\",{3}", stringVariable, stringToQuote, otherStringToQuote, anotherStringVariable) sb.AppendLine(); //resul
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中添加了一行。您输入了一个打字错误
"{0},\"{1}\" and \"{2}"\,{3}"
试一试
{2}
之后的转义位于引号的错误一侧,在我这边可以正常工作。既然你已经纠正了打字错误,你能再试一次吗?我确实再试了一次,但还是没有成功。这让我发疯了。当代码为其他人工作,但不是为你工作时,请清除我们的binaries文件夹并重新编译。有时,你会得到一份过期的副本。现在修复了。然而,这不是问题所在(复制代码后替换内容时出错)。
"{0},\"{1}\" and \"{2}\",{3}"