代码之家  ›  专栏  ›  技术社区  ›  Daniel Daranas

将string.empty加上一些字符串分配给按钮文本

  •  0
  • Daniel Daranas  · 技术社区  · 15 年前

    我偶然发现了这个代码,我很好奇 string.Empty 其中有一部分。它是不是像看起来那样毫无用处?我错过什么了吗?

    System.Windows.Forms.ToolStripButton m_button;
    int errorCount;
    
    ...
    m_button.Text = string.Empty + errorCount + " error(s)";
    
    4 回复  |  直到 8 年前
        1
  •  9
  •   ChrisF    15 年前

    看起来应该允许 errorCount 隐式强制转换为 string 而不是必须做一个明确的演员表-即 errorCount.ToString() . 但是,正如您所指出的,隐式强制转换是完全有效的,因此它必须是某些代码检查、旧代码更改或运行StyleCop类型代码“cleaner”的结果。

    编程真的很糟糕。

    更好的解决方案可能是:

    m_button.Text = string.Format("{0} error(s)", errorCount);
    
        2
  •  3
  •   Gabe Timothy Khouri    15 年前

    没有理由使用它。据推测,最初的编码人员认为有必要阻止编译器向int添加字符串,但编译器会自动将int转换为字符串,使其成为多余的。

    所以是的,这是完全无用的。

        3
  •  2
  •   remi bourgarel    15 年前

    你说得对,这绝对没用。由于+“错误”,整数仍将转换为字符串。也许不是先到这里。

        4
  •  1
  •   Kerido    15 年前

    因为它将使用属于字符串类的加法运算符。自 errorCount 是一个整数,向其添加字符串有点尴尬。这就是为什么显式字符串 int 第一次添加更简单,将转换 int 到A string .