Если вы намерены использовать tryparse
, то лучше использовать If-Else
, который зависит от результата метода tryparse
. но если вы используете Parse
, вполне вероятно, что вы получите одно из следующих исключений:
- ArgumentNullException (если значение параметра равно нулю)
- FormatException (Если значение параметра отличается от целочисленного значения или не в правильном формате)
- FormatException (если значение параметра выходит за пределы целочисленного диапазона)
так что лучше пойти с обработкой исключений.
для первого подхода:
var isParsable = DateTime.TryParse(dteCommission.SelectedDate.Value.Date.ToShortDateString(),
out DueDate);
if (isParsable)
{
//Continue With your Procedure
}
else
{
MessageBox.Show("Due Date wasn't set. Defaulting to current date.", "Alert",
MessageBoxButton.OK, MessageBoxImage.Warning);
}
для второго случая вы можете пойти с:
DateTime DueDate;
try
{
var DueDate = DateTime.TryParse(dteCommission.SelectedDate.Value.ToString());
}
catch (Exception E)
{
MessageBox.Show("Due Date wasn't set. Defaulting to current date.", "Alert",
MessageBoxButton.OK, MessageBoxImage.Warning);
//also you can you the exception type to make it clear for use if it is
// an exception of Null, Format or Argument
}