У меня странная проблема. IIf портится, когда я работаю с массивом. По-видимому, он проверяет мой оператор else, даже если он не активирован. Вот некоторый код, демонстрирующий проблему:
'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))