有一个列表在Vb中查看,并且有一个变量total8KI我如何累积它的值,但同时检查它是否为空或空?
我想完成像
这样的事情Dim total8KI As Double
For Each itm As ListViewItem In lv.Items
total8KI += CDbl(itm.SubItems(27).Text)
Next
但添加条件if为null或为空赋值0否则赋值
Dim total8KI As Double
For Each itm As ListViewItem In lv.Items
IIf(total8KI = String.IsNullOrEmpty(CDbl(itm.SubItems(27).Text)), CDbl(itm.SubItems(27).Text), 0)
Next
问题在于我无法在ternaru运算符
中应用+=
有没有办法在一行中完成这个或我必须使用
If (String.IsNullOrEmpty(CDbl(itm.SubItems(27).Text))) Then
total8KI += CDbl(itm.SubItems(27).Text)
Else
total8KI += 0
End If
答案 0 :(得分:4)
使用新的IF
(旧版本的VB.NET不支持):
total8KI += If(String.IsNullOrEmpty(itm.SubItems(27).Text), CDbl(itm.SubItems(27).Text), 0)
或更安全:
total8KI += If(IsNumeric(itm.SubItems(27).Text), CDbl(itm.SubItems(27).Text), 0)
如果您希望非空,则可以存在非数字值。
答案 1 :(得分:2)
更改此
IIf(total8KI = String.IsNullOrEmpty(CDbl(itm.SubItems(27).Text)), CDbl(itm.SubItems(27).Text), 0)
要
total8KI+=If(String.IsNullOrEmpty(CDbl(itm.SubItems(27).Text)), CDbl(itm.SubItems(27).Text), 0)