Java ?: operator in vb.net
conditional-operator, java, language-features, vb.net
Solution
Use the If operator:
' data type infered from ifTrue and ifFalse
... = If(condition, ifTrue, ifFalse)
This operator was introduced in VB.NET 9 (released with .net Framework 3.5). In earlier versions, you will have to resort to the IIf function (no type inference, no short-circuiting):
' always returns Object, always evaluates both ifTrue and ifFalse
... = IIf(condition, ifTrue, ifFalse)
Problem
Is there a `?:` operator equivalent in .net? eg in java I can do: ``` retParts[0] = (emailParts.length > 0) ? emailParts[0] : ""; ``` rather than ``` if (emailParts.length > 0) { retParts[0] = emailParts[0]; } else { retParts[0] = ""; } ``` I'd like to be able to do similar in VB.NET.