Прямой вопрос: у меня есть несколько переменных, которые являются двойными. Я хотел бы иметь возможность хранить в них «нулевое» состояние, т.е. мне нужно иметь возможность представить, что переменная не содержит достоверных данных. Я бы действительно предпочел не связывать логическую переменную «действительно» с каждым двойником, это было бы некрасиво и, вероятно, ненужно.
Во-первых, я обнаружил, что переменную нужно объявить по-другому, чтобы можно было проверить концепцию «IsNothing», поэтому я делаю следующее:
dim someDouble as Double?
(Обратите внимание на вопросительный знак).Если я этого не объявляю, проверка ошибок дает мне сообщение «IsNot требует операндов со ссылочными типами».
После объявления установка переменной в ...
someDouble = Nothing
..., кажется, устанавливает ее в ноль , потому что он никогда не запускает код в моем операторе if / else, который проверяет, someDouble IsNot Nothing
... что плохо, потому что переменная может законно хранить 0 как действительный фрагмент данных.
Что мне здесь не хватает? Спасибо!
РЕДАКТИРОВАТЬ: Я не учел, что использовал свойства в классе, чтобы получить
и установить
эти значения. Оказывается, я все делал правильно, за исключением того, что я оставил свой тип Property
как Double
вместо Double?
, поэтому вместо этого он возвращался к нулю значения Nothing
. Однако полезная информация все еще находится в ответах ниже!