2008-11-28 3 views
12

Предположим, у меня есть целое число, которое мне нужно преобразовать в строку (например, я могу отображать значение для пользователя с помощью TextBox.variable.ToString() vs. Convert.ToString (variable)

Должен ли я предпочитаю .ToString() или Convert.ToString(). они оба делают то же самое (не правда ли?).

int someValue = 4; 

// You can do this 
txtSomeValue.Text = someValue.ToString(); 

// Or this... 
txtSomeValue.Text = Convert.ToString(someValue); 

Предполагая, что нет никакой разницы во время выполнения между ними, то мои доводы сводятся к эстетике и Недавно мне понравилось Convert.ToString(), так как мне сказано: «Эй, я хочу, чтобы значение эта вещь как строка ". Однако я знаю, что это не совсем так ...

ответ

14

Один тест -

//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

Итак, это зависит от того, что вы предпочитаете, и то, что ваш стиль.

7

С его большим количеством перегрузок Convert.ToString() полезен как универсальный для всех видов типов ввода, удобный, когда вы имеете дело с потенциалом диапазон типов. Если вы знаете, что ваш ввод определенно является «int», я бы использовал метод ToString() на нем напрямую (это все равно будет вызывать Convert.ToString() в прокси-сервере).

Смежные вопросы