Простое решение, если пользователь ничего не вводит, назначьте значение по умолчанию:
Console.Write("Enter weekly cost: ");
string input = Console.ReadLine();
decimal weeklyCost = String.IsNullOrEmpty(input) ? 135 : decimal.Parse(input);
При работе с пользовательским вводом следует ожидать, что он может содержать ошибки. Таким образом, вы можете использовать TryParse, чтобы избежать исключения, если пользователь не ввел число:
Console.Write("Enter weekly cost: ");
string input = Console.ReadLine();
decimal weeklyCost;
if ( !Decimal.TryParse(input, out weeklyCost) )
weeklyCost = 135;
Это будет считаться лучшей практикой для обработки пользовательского ввода. Если вам нужно проанализировать много пользовательских вводов, используйте для этого вспомогательную функцию. Один из способов сделать это - использовать метод с нулевым значением и возвращать нуль, если синтаксический анализ не удался. Тогда очень легко назначить значение по умолчанию с помощью оператора null coalescing :
public static class SafeConvert
{
public static decimal? ToDecimal(string value)
{
decimal d;
if (!Decimal.TryParse(value, out d))
return null;
return d;
}
}
Затем, чтобы прочитать ввод и назначить значение по умолчанию, достаточно просто:
decimal d = SafeConvert.ToDecimal(Console.ReadLine()) ?? 135;