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