2010-01-21 42 views
7

Có một toán tử tương đương ?: trong .net không? ví dụ như trong java Tôi có thể làm:Java?: Toán tử trong vb.net

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

hơn

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

Tôi muốn để có thể làm tương tự như trong VB.NET.

Trả lời

9

Sử dụng If operator:

Toán tử này đã được giới thiệu trong VB.NET 9 (phát hành với .net Framework 3.5). Trong các phiên bản trước đó, bạn sẽ phải dùng đến các IIf function (không có loại suy luận, không chập mạch):

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

+1: Lưu ý VB 2008 chỉ - phiên bản cũ không hỗ trợ thay đổi này của các nhà điều hành Nếu. –

+0

Vì vậy, về cơ bản Nếu là loại an toàn nhưng chỉ trong 3,5+, Nếu không phải là loại an toàn nhưng là trong tất cả các phiên bản? – themaninthesuitcase

+0

'If' là loại an toàn và chỉ có sẵn trong 3,5+. 'IIf' (hai" I ") không an toàn và có sẵn trong tất cả các phiên bản. – Heinzi

Các vấn đề liên quan