最新消息:VPS服务器又从fzhost.net换回Linode了,主题仍用朋友推荐的大前端D8

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

C# crifan 240浏览 0评论

【问题】

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));

 

【总结】

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

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

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
14 queries in 0.215 seconds, using 10.07MB memory