【问题标题】:Why do I get a StringFormat error with this?为什么我会收到 StringFormat 错误?
【发布时间】:2014-06-03 20:57:55
【问题描述】:

使用此代码(sbJava 是一个 StringBuilder):

String androidFindLine = string.Format("Button _{0} = (Button) findViewById(R.id.{0});\"", btnId);
sbJava.Append(androidFindLine);
sbJava.Append(Environment.NewLine);
sbJava.Append(string.Format("_{0}.setOnClickListener(new View.OnClickListener() { ", btnId));

...我明白了,

System.FormatException 未处理 _HResult=-2146233033 _message=输入字符串的格式不正确...

btnId 的值为“btnbutton_up”

有什么问题?

【问题讨论】:

  • btnId 的类型是什么 - 绝对是字符串?
  • String androidFindLine = string.Format("Button _{0} = (Button) findViewById(R.id.{0});\"", btnId); 是否被正确转义?

标签: c# stringbuilder string.format


【解决方案1】:

你应该用双 {{ 转义那些 {

sbJava.Append(string.Format("_{0}.setOnClickListener(new View.OnClickListener() {{ ", btnId));

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2020-11-05
    • 2018-06-22
    • 2020-01-12
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多