The If
-statement will return the same datatype for both cases.
Because the return-type in the False
-case is DateTime
, the return-type is the DateTime
-default-value for the True
-case.
Default for DateTime
is DateTime.MinValue
which is #1/1/0001 12:00:00 AM#
.
This will work as expected:
Dim testInvoiceDate As DateTime? = If(String.IsNullOrEmpty(Nothing),
Nothing,
New DateTime?(New Date(2018, 3, 20)))
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…