Задать вопрос
TheForgetDragon
@TheForgetDragon
Начинающий по C# , Java

Convert.ToXXXX() vs. XXX.Parse()?

Convert.ToXXXX() vs. XXX.Parse() в чем отличие?И какой лучше использовать?
  • Вопрос задан
  • 390 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
lexxpavlov
@lexxpavlov
Программист, преподаватель
Ни то, ни другое, лучше использовать TryParse. Потому что и Parse, и Convert.ToXXX выкинет исключение, и придётся использовать try catch, а в TryParse достаточно использовать if.

Пример с числовым значением:
int x;
string str = Console.ReadLine();

// Вариант с Parse
try
{
	x = int.Parse(str);
}
catch (Exception)
{
	x = 0;
	Console.WriteLine("Неверные данные");
}

// Вариант с Convert
try
{
    x = Convert.ToInt32(str);
}
catch (Exception)
{
    x = 0;
    Console.WriteLine("Неверные данные");
}

// Вариант с TryParse
if (!int.TryParse(str, out x))
{
    Console.WriteLine("Неверные данные");		        
}

// Вариант с TryParse, если ноль устраивает
int.TryParse(str, out x);
Ответ написан
Комментировать
idShura
@idShura
Почитай тут msdn
Ответ написан
Комментировать
Rou1997
@Rou1997
Во время выполнения никакой разницы нет, Parse и ToString это "обертки" для Convert, по лаконичности и читаемости кода для чисел лучше Parse, для строк ToString, а Convert.ToString имеет смысл только в C++/CLI, в обоих случаях выбор обусловлен принципами ООП, прочие варианты кроме строк и чисел чрезвычайно редко встречаются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы