为什么IIF正在评估双方? 。净

时间:2016-04-25 11:28:08

标签: .net sequence iif

我正在尝试以简单模式使用IIF:

 Dim MyList As List(Of Double) = New List(Of Double)
 Dim ret As Double

 ret = IIf(MyList.Count > 0, MyList.Max(), 0)

MyList中没有元素,但抛出了System.InvalidOperationException,“Sequence没有元素”。 为什么IIF正在评估双方?

谢谢!

1 个答案:

答案 0 :(得分:1)

因为that是旧的VB6函数,所以使用进行短路评估的If operator

ret = If(MyList.Count > 0, MyList.Max(), 0)