Phi*_*hil 4 vb.net ternary-operator iif
我有一个奇怪的问题.当我使用数组时,IIf正在搞乱.显然它正在检查我的其他声明,即使它没有被激活.以下是一些演示此问题的代码:
'works
Dim test As String = "bleh"
If values.Length < 6 Then
test = "200"
Else
test = values(5)
End If
'throws indexoutofrange exception
Dim itemLimit As String = IIf(values.Length < 6, "200", values(5))
Run Code Online (Sandbox Code Playgroud)
该Iif运营商没有实现短路并将评价都真假情况.如果你想要一个短路版本,那么使用If.
Dim itemLimit As String = If(values.Length < 6, "200", values(5))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
872 次 |
| 最近记录: |