Ни то, ни другое, лучше использовать 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);