Here is simplest piece of code
Dim testInvoiceDate As DateTime? = If(String.IsNullOrEmpty(Nothing),
Nothing,
New DateTime(2018, 3, 20))
Why variable testInvoiceDate
is not Nothing
, but #1/1/0001 12:00:00 AM#
?!
That is very weird !
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)))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With