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

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

Convert.ToXXXX() vs. XXX.Parse() в чем отличие?И какой лучше использовать?
  • Вопрос задан
  • 398 просмотров
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    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, в обоих случаях выбор обусловлен принципами ООП, прочие варианты кроме строк и чисел чрезвычайно редко встречаются.
Ответ написан
Ваш ответ на вопрос

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

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