在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/

10-10 10:46