Есть ли в VB.NET выражение, которое * всегда * возвращает ноль?

Мы все знаем, что VBNothing похож, но не эквивалентен, в C #null, (Если вы не знаете об этом, посмотрите наэтот ответ первый.)

Просто из любопытства я хотел бы знать следующее:

Есть ли выражение VB.NET, которое всегда даетnull?

Чтобы привести конкретный пример, сделайте следующее утверждение:

Dim o As Object = If(myBool, 5, ...)

Можно ли заменить... с чем-то, таким, чтоo является5 когдаmyBool это правда иNothing/null когдаmyBool это ложь?

Очевидные решения, которые не будут работать:

Nothing (см. вопрос к связанному ответу выше),DirectCast(Nothing, Object) (выдает ошибку времени компиляции с Option Strict On),DirectCast(Nothing, Integer?) работает для этого примера, но не работаетв общем (если заменить5 с5.0 в этом примере вам нужно изменить приведение).

Очевидные обходные пути (не считаются ответами):

ОбъявитьObject переменная или поле, установите его вNothing и использовать это для...,определить метод или свойство, которое всегда возвращаетNothing,DirectCast второй параметр (5) чтобыObject.

Примечание: приведенный выше пример является лишь примером. Сам вопрос написан жирным шрифтом.

Ответы на вопрос(4)

Ваш ответ на вопрос