Max*_*xer 2 vb.net nullable addition
我有:
Dim nVar1 As Long?
Dim nVar2 As Long?
Dim nVarSum As Long?
nVar1 = Nothing
nVar2 = 5
nVarSum = nVar1 + nVar2
Run Code Online (Sandbox Code Playgroud)
我希望结果以nVarSum为5结束,而不是Nothing.
我知道如果你添加一些未知值的东西,你最终会得到"somthing + unknown"或者x + 5总是等于"x + 5"而不是"5",因为你仍然带着那个未知的"x".
但是,在这种情况下,如何才能有效地将未知或Nothing视为零?
谢谢!
(基本上发生的是最终用户向我们发送数据文件,此代码解析该文件,然后将大约15个字段汇总在一起.如果用户将这些字段留空而不是为它们分配零,我需要对待它好像它对于这一个加法操作是零,但所有其余代码需要继续将其视为Nothing值,因为用户实际上没有提交零...他们提交空白或没有)
nVar1.GetValueOrDefault()+ nVar2.GetValueOrDefault()
Run Code Online (Sandbox Code Playgroud)
或者在c#中:
(nVar1??0)+(nVar2??0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |