在Vb中有一个列表 View ,并且有一个total8KI变量,如何累积它的值,但同时检查它是否不为null或为空?
我想完成类似的事情
Dim total8KI As Double
For Each itm As ListViewItem In lv.Items
total8KI += CDbl(itm.SubItems(27).Text)
Next
但是添加条件,如果为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
最佳答案
使用新的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)
如果您期望非空值,则可以使用非数字值。
关于vb.net - 如何在条件三元运算符中应用+ =运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25479331/