Как мне использовать нулевое значение в двойных значениях в VB.Net 2010?

Прямой вопрос: у меня есть несколько переменных, которые являются двойными. Я хотел бы иметь возможность хранить в них «нулевое» состояние, т.е. мне нужно иметь возможность представить, что переменная не содержит достоверных данных. Я бы действительно предпочел не связывать логическую переменную «действительно» с каждым двойником, это было бы некрасиво и, вероятно, ненужно.

Во-первых, я обнаружил, что переменную нужно объявить по-другому, чтобы можно было проверить концепцию «IsNothing», поэтому я делаю следующее:

dim someDouble as Double?

(Обратите внимание на вопросительный знак).Если я этого не объявляю, проверка ошибок дает мне сообщение «IsNot требует операндов со ссылочными типами».

После объявления установка переменной в ...

someDouble = Nothing

..., кажется, устанавливает ее в ноль , потому что он никогда не запускает код в моем операторе if / else, который проверяет, someDouble IsNot Nothing ... что плохо, потому что переменная может законно хранить 0 как действительный фрагмент данных.

Что мне здесь не хватает? Спасибо!

РЕДАКТИРОВАТЬ: Я не учел, что использовал свойства в классе, чтобы получить и установить эти значения. Оказывается, я все делал правильно, за исключением того, что я оставил свой тип Property как Double вместо Double? , поэтому вместо этого он возвращался к нулю значения Nothing . Однако полезная информация все еще находится в ответах ниже!

6
задан evilspoons 3 January 2012 в 20:28
поделиться