У меня проблемы с DateTime, допускающим значение NULL, в 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) из тернарного оператора для DateTime, допускающего значение Null.
Что мне не хватает? Спасибо!