如何在C#中以错误的格式错误避免输入字符串/ StringBuilder

 兰墨儿_231 发布于 2023-02-12 15:19

我正在使用字符串构建器将文本追加到字符串.

StringBuilder content = new StringBuilder(GetStartHTML("installation",string.Empty));
.......
content.AppendFormat("" + idcStepEntity.Comment + "");

不幸的是,我无法控制来自客户的内容作为评论,所以我写了类似的东西:评论{commment]评论(他们经常这样做)我得到的字符串格式错误不正确.这意味着我不应该在这里使用StringBuilder?我应该使用string += otherstring或者是否有任何其他可以在这里使用的String类?

提前致谢 :)

1 个回答
  • 在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)
    

    2023-02-12 15:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有