使用tryparse转换日期时,我收到以下错误:
错误1选项Strict On禁止“日期?”的隐式转换 至 '日期'。
如何在进行检查时仍然使用可为空的日期,以确保日期不仅不为空而且有效?乍一看这可能没有意义,但如果它没有相关性,我需要能够有一个空日期,但是如果使用它仍然需要检查验证的日期值。
是的,我绝对宁愿严格执行选项。
答案 0 :(得分:3)
要将Date.TryParse与Nullable(Of Date)一起使用,Nullable(Of Date)必须具有一个值。
Dim dt As Date? = Date.MinValue
If Date.TryParse("9/1/2015", dt.Value) Then
Else
dt = New Nullable(Of Date)
End If
或者,您可以在TryParse中使用Date,如果成功将其分配给Nullable。
Dim dt As Date?
Dim dtemp As Date
If Date.TryParse("9/1/2015", dtemp) Then
dt = dtemp
Else
End If
答案 1 :(得分:0)
如前所述,?州是Nullable。您可以使用HasValue()或GetValueOrDefault()等方法。请参阅此link。
您编辑了自己的问题。试试这个;
If nullableDate.HasValue Then
date = nullableDate.Value
End If