Java?: Оператор в vb.net - PullRequest
8 голосов
/ 21 января 2010

Есть ли оператор ?: в .net?например, в Java я могу сделать:

retParts[0] = (emailParts.length > 0) ? emailParts[0] : "";

вместо

if (emailParts.length > 0) {
    retParts[0] = emailParts[0];
} else {
    retParts[0] = "";
}

Я хотел бы иметь возможность сделать подобное в VB.NET.

1 Ответ

10 голосов
/ 21 января 2010

Используйте оператор If :

' data type infered from ifTrue and ifFalse
... = If(condition, ifTrue, ifFalse)     

Этот оператор был представлен в VB.NET 9 (выпущен с .net Framework 3.5). В более ранних версиях вам придется прибегнуть к функции IIf (без вывода типа, без короткого замыкания):

' always returns Object, always evaluates both ifTrue and ifFalse
... = IIf(condition, ifTrue, ifFalse)    
...