Variable.ToString() vs. Convert.ToString(переменная)
Скажем, у меня есть целое число, которое мне нужно преобразовать в строку (я мог бы отображать значение для пользователя с помощью TextBox, например.
Должен ли я использовать .ToString()
или Convert.ToString()
. Они оба делают то же самое (не так ли?).
int someValue = 4;
// You can do this
txtSomeValue.Text = someValue.ToString();
// Or this...
txtSomeValue.Text = Convert.ToString(someValue);
Предполагая, что между ними нет разницы во времени выполнения, мои причины сводятся к эстетике и последовательности. Недавно мне понравилось Convert.ToString()
, так как мне сказано: "Эй, я хочу, чтобы значение этой вещи было строкой". Однако я знаю, что это не совсем верно...
Ответы
Ответ 1
Одно испытание
//This will set the variable test to null:
string test = Convert.ToString(ConfigurationSettings.AppSettings["Missing.Value"]);
//This will throw an exception:
string test = ConfigurationSettings.AppSettings["Missing.Value"].ToString();
Получил приведенный выше пример из http://weblogs.asp.net/jgalloway/archive/2003/11/06/36308.aspx
Вы можете найти некоторые ориентиры между
http://blogs.msdn.com/brada/archive/2005/03/10/392332.aspx
Итак, это зависит от того, что вы предпочитаете и каков ваш стиль.
Ответ 2
Благодаря большому количеству перегрузок Convert.ToString() полезен как универсальный для всех типов входных типов, удобный, когда вы имеете дело с потенциальным диапазоном типов. Если вы знаете, что ваш ввод определенно "int", я бы использовал метод ToString() на нем напрямую (то, что Convert.ToString() будет вызывать прокси-сервером в любом случае.)