我正在使用字符串构建器将文本追加到字符串.
StringBuilder content = new StringBuilder(GetStartHTML("installation",string.Empty));
.......
content.AppendFormat("<td>" + idcStepEntity.Comment + "</td>");
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法控制来自客户的内容作为评论,所以我写了类似的东西:评论{commment]评论(他们经常这样做)我得到的字符串格式错误不正确.这意味着我不应该在这里使用StringBuilder?我应该使用string += otherstring或者是否有任何其他可以在这里使用的String类?
提前致谢 :)
在String.Format()的第一个参数中使用未转义的"{"或"}"将导致此异常.
这将导致引发异常:
Microsoft.VisualBasic.MsgBox(String.Format("{"))
Run Code Online (Sandbox Code Playgroud)
还行吧:
Microsoft.VisualBasic.MsgBox(String.Format("{0}", "{"))
Run Code Online (Sandbox Code Playgroud)
解:
要逃避"{"使用"{{"并逃避"}"使用"}}.根据您的实施情况,这可能对您有用.
Dim s As String = "{Hello}"
s = s.Replace("{", "{{")
s = s.Replace("}", "}}")
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
它可能在堆栈跟踪中出现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)
Run Code Online (Sandbox Code Playgroud)
StringBuilder.AppendFormat仅当字符串包含 { 或 } 时,才会出现此错误。所以解决方案是使用StringBuilder.Append(因为你并没有真正使用格式部分):
content.Append("<td>" + idcStepEntity.Comment + "</td>");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7034 次 |
| 最近记录: |