简体   繁体   中英

Java ?: operator in vb.net

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.

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)    

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM