StringBuild的一个小问题

今天在项目开发的过程中写了一小段代码:

sb_result.AppendFormat("{"SmsmTaskModeName":"{0}","SmsmEmpName":"{1}"", dt.Rows[0]["smsmTaskModeName"].ToString(), dt.Rows[0]["smsmEmpName"].ToString());

注意红色的 {,能编译通过,在执行到此处的时候 提示:input string was not in a correct format错误。

  去掉 红色的 { 就正确了,用转义字符是没用的

处理此问题有两个方法:

方法一:

 巧妙的处理下:sb_result.AppendFormat("{2}"SmsmTaskModeName":"{0}","SmsmEmpName":"{1}"", dt.Rows[0]["smsmTaskModeName"].ToString(), dt.Rows[0]["smsmEmpName"].ToString(),"{");

方法二:连续输出两个括号即可

sb_result.AppendFormat("{{"SmsmTaskModeName":"{0}","SmsmEmpName":"{1}"", dt.Rows[0]["smsmTaskModeName"].ToString(), dt.Rows[0]["smsmEmpName"].ToString());

 这样子就OK了。。

看看微软的官方:http://msdn.microsoft.com/en-us/library/txafckwd.aspx

Each format item takes the following form and consists of the following components:

index[,alignment][:formatString]}

The matching braces ("{" and "}") are required.

原文地址:https://www.cnblogs.com/huaan011/p/3997851.html