У меня возникают проблемы с Nullable DateTime в VB.NET(VS 2010).
Способ 1
If String.IsNullOrEmpty(LastCalibrationDateTextBox.Text) Then
gauge.LastCalibrationDate = Nothing
Else
gauge.LastCalibrationDate = DateTime.Parse(LastCalibrationDateTextBox.Text)
End If
Способ 2
gauge.LastCalibrationDate = If(String.IsNullOrEmpty(LastCalibrationDateTextBox.Text), Nothing, DateTime.Parse(LastCalibrationDateTextBox.Text))
Когда задана пустая строка, метод 1 присваивает значение Null (Nothing) для параметра gauge.LastCalibrationDate, но метод 2 присваивает ему DateTime.MinValue.
В других местах моего кода у меня есть:
LastCalibrationDate = If(IsDBNull(dr("LastCalibrationDate")), Nothing, dr("LastCalibrationDate"))
Это правильно присваивает Null (Nothing) от тернарного оператора Nullable DateTime.
Что мне не хватает? Спасибо!