2010-01-21 12 views
7

Gibt es einen ?: Operator Äquivalent in .net? zB in Java kann ich tun:Java?: Operator in vb.net

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

statt

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

Ich möchte in der Lage sein, in VB.NET ähnlich zu tun.

Antwort

9

Verwenden Sie die If operator:

Dieser Operator in VB.NET 9 eingeführt wurde (mit NET Framework freigegeben 3.5). In früheren Versionen finden Sie auf der IIf function (keine Typinferenz, kein Kurzschluß) zurückgreifen müssen:

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

+1: Hinweis VB 2008 nur - ältere Versionen nicht über diese Variation des Betreibers Wenn unterstützen. –

+0

Also im Wesentlichen ist Typ sicher aber nur in 3.5+, wenn nicht typsicher ist aber in allen Versionen? – themaninthesuitcase

+0

'If' ist typsicher und nur in 3.5+ verfügbar. 'IIf' (zwei" I ") ist nicht typsicher und in allen Versionen verfügbar. – Heinzi