【问题标题】:Why IIF is evaluating the two sides ? .NET [duplicate]IIF 为什么要评估这两个方面? .NET [重复]
【发布时间】:2016-04-25 11:28:07
【问题描述】:

我正在尝试以简单模式使用 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,“序列没有元素”。 IIF 为什么要评估这两个方面?

谢谢!

【问题讨论】:

标签: .net sequence iif


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 2020-10-31
    相关资源
    最近更新 更多