【已解决】C#中String.Format中想要通过\t输出Tab结果出错:输入字符串的格式不正确。将一个字符串转换为DateTime时,先分析该字符串以获取日期,然后再讲每个变量放置到DateTime对象中

【问题】

C#中,用如下代码:

                string imageUrl = imageUrlList[idx];
                gLogger.Info(String.Format("[Image{0}}]\t\t{1}", idx, imageUrl));

想要在String.Format中用\t输出Tab键,结果出错:

未处理 System.FormatException

  Message=输入字符串的格式不正确。

  Source=mscorlib

  StackTrace:

       在 System.Text.StringBuilder.FormatError()

       在 System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)

       在 System.String.Format(IFormatProvider provider, String format, Object[] args)

       在 System.String.Format(String format, Object arg0, Object arg1)

截图如下:

string format use slash t to ouput tab error

 

【解决过程】

1.看起来是,String.Format中的\t,被理解为DateTime格式了。

换成:

                string imageUrl = imageUrlList[idx];
                gLogger.Info(String.Format("[Image{0}}]\\t\\t{1}", idx, imageUrl));

结果错误依旧。

2.后来是,自己发现问题了:

原来是自己不小心,多了个右大括号,去掉即可:

                string imageUrl = imageUrlList[idx];
                gLogger.Info(String.Format("[Image{0}]\t\t{1}", idx, imageUrl));

 

【总结】

一个不小心,贻害万年啊。。。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量