如何在条件三元运算符中应用+ =运算符

时间:2014-08-25 05:05:47

标签: vb.net

有一个列表在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

2 个答案:

答案 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)