So, what is the purpose of the iif in vb? I know what it does, but I can't uderstand what is it for?
Update: I know what it does. But "if(,,)" does the same. The only difference is that "Iif" will evaluate both expressions. So what is the purpose of doing this?
Thank you!
It allows for a concise boolean logic expression which produces a value
Dim value = Iif(someTest, trueValue, falseValue)
Without the Iif
or If
operator this has to be expanded into a more combursome set of statements
Dim value;
If someTest Then
value = trueValue
Else
value = falseValue
End If
If I remember correctly, IIF(a, b, c) returns b if a is true, or c if a is false.
There is no need for Iif
in new VB.NET code, but has been kept for backward compatibility with existing code.
If you do ever still want Iif
, code it yourself as Iif(Of T)
at least, so you can avoid the casting that is otherwise required when you have Option Strict On
.