Подтвердить что ты не робот

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(), так как мне сказано: "Эй, я хочу, чтобы значение этой вещи было строкой". Однако я знаю, что это не совсем верно...

4b9b3361

Ответ 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() будет вызывать прокси-сервером в любом случае.)