Присваивание String.Empty плюс некоторая строка тексту кнопки - PullRequest
0 голосов
/ 02 марта 2010

Я наткнулся на этот код, и мне любопытно, как его может использовать часть string.Empty. Это так бесполезно, как кажется? Я что-то упустил?

System.Windows.Forms.ToolStripButton m_button;
int errorCount;

...
m_button.Text = string.Empty + errorCount + " error(s)";

Ответы [ 4 ]

9 голосов
/ 02 марта 2010

Похоже, что это позволяет неявно приводить errorCount к string вместо того, чтобы выполнять явное приведение - то есть errorCount.ToString(). Однако, как вы указали, неявное приведение является полностью допустимым, поэтому оно должно быть результатом некоторого обзора кода, изменения старого кода или запуска кода «StyleCop» типа «cleaner».

Это действительно плохое программирование.

Лучшее решение может быть сделано:

m_button.Text = string.Format("{0} error(s)", errorCount);
3 голосов
/ 02 марта 2010

Нет причин использовать его. Предположительно исходный кодер считал, что необходимо запретить компилятору пытаться добавить строку в int, но компилятор автоматически превращает int в строку, что делает его лишним.

Так что да, это совершенно бесполезно.

2 голосов
/ 02 марта 2010

ты прав, это абсолютно бесполезно. целое число все равно будет преобразовано в строку из-за + "error (s)". может быть, это не было здесь первым.

1 голос
/ 02 марта 2010

Поскольку он будет использовать оператор сложения, принадлежащий классу string. Поскольку errorCount является целым числом, добавление строки к нему несколько неудобно. Вот почему явная строка, к которой впервые добавляется int, является более простой и преобразует int в string.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...