我正在使用字符串构建器将文本追加到字符串.
StringBuilder content = new StringBuilder(GetStartHTML("installation",string.Empty)); ....... content.AppendFormat("" + idcStepEntity.Comment + " ");
不幸的是,我无法控制来自客户的内容作为评论,所以我写了类似的东西:评论{commment]评论(他们经常这样做)我得到的字符串格式错误不正确.这意味着我不应该在这里使用StringBuilder?我应该使用string += otherstring
或者是否有任何其他可以在这里使用的String类?
提前致谢 :)
在String.Format()的第一个参数中使用未转义的"{"或"}"将导致此异常.
这将导致引发异常:
Microsoft.VisualBasic.MsgBox(String.Format("{"))
还行吧:
Microsoft.VisualBasic.MsgBox(String.Format("{0}", "{"))
解:
要逃避"{"使用"{{"并逃避"}"使用"}}.根据您的实施情况,这可能对您有用.
Dim s As String = "{Hello}" s = s.Replace("{", "{{") s = s.Replace("}", "}}")
堆栈跟踪:
它可能在堆栈跟踪中出现StringBuilder错误,因为String.Format在内部实现System.Text.StringBuilder,但即使您从未在项目中使用StringBuilder,也会得到此异常.
System.FormatException: Input string was not in a correct format. at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)