Straightforward question: I have a few variables that are doubles. I would like to be able to store a "null" state in them, i.e. I need to be able to represent that the variable doesn't contain valid data. I'd really rather not associate a boolean "is valid" variable with every single double, that would be ugly and likely unnecessary.
First, I found out that one has to declare the variable differently to allow the concept of 'IsNothing' to be checked, so I do this:
dim someDouble as Double?
(Note the question mark). If I don't declare it like that, the error check gives me a "IsNot requires operands that have reference types" message.
Once declared, setting the variable to...
someDouble = Nothing
...seems to set it to zero, because it never runs the code in my if/else statement that checks whether someDouble IsNot Nothing
... which is bad because the variable can legitimately store a 0 as a valid piece of data.
What am I missing here? Thanks!
EDIT: I left out that I was using properties in a class to Get
and Set
these values. It turns out I was doing things right except I left my Property
's type as a Double
instead of a Double?
so it was casting back to zero instead of the Nothing
value. Useful information still in the answers below, though!