直截了当的问题:我有一些双倍的变量.我希望能够在其中存储"null"状态,即我需要能够表示该变量不包含有效数据.我真的不想将一个布尔"有效"变量与每一个双关联,这将是丑陋的,可能是不必要的.
首先,我发现必须以不同的方式声明变量以允许检查'IsNothing'的概念,所以我这样做:
dim someDouble as Double?
Run Code Online (Sandbox Code Playgroud)
(注意问号).如果我没有这样声明,错误检查会给我一个"IsNot需要具有引用类型的操作数"消息.
声明后,将变量设置为......
someDouble = Nothing
Run Code Online (Sandbox Code Playgroud)
...似乎将它设置为零,因为它永远不会运行我的if/else语句中的代码来检查是否someDouble IsNot Nothing...这是不好的,因为该变量可以合法地将0存储为有效的数据.
我在这里错过了什么?谢谢!
编辑:我遗漏了我正在使用类中的属性Get和Set这些值.事实证明我正在做正确的事情,除了我把我Property的类型留作一个Double而不是一个Double?所以它回到零而不是Nothing值.但有用的信息仍然在下面的答案中!
我正在Visual Basic 2010中编写一个程序.它是一个HMI(人机界面),因此只需要向其他设备发送命令就可以完成任务.因此,有大量的事件处理程序用于单击按钮,这些按钮无法真正分解为模块(除非我对模块的理解是错误的).
从本质上讲,我希望能够将所有事件处理程序,例如按钮按下移动到不同的文件.可以这样做,还是留在"MainWindow.xaml.vb"中很重要?(我的所有按钮都位于一个全屏窗口中,一些按标签隐藏).
谢谢,
--Erik T.