Possible Duplicate:
Is there a conditional ternary operator in VB.NET?
Hi guys, Can we use Coalesce operator(??) and conditional ternary operator(:) in VB.NET as in C#?
I think you can get close with using an inline if statement:
//C#
int x = a ? b : c;
'VB.Net
Dim x as Integer = If(a, b, c)
Sub Main()
Dim x, z As Object
Dim y As Nullable(Of Integer)
z = "1243"
Dim c As Object = Coalesce(x, y, z)
End Sub
Private Function Coalesce(ByVal ParamArray x As Object())
Return x.First(Function(y) Not IsNothing(y))
End Function
just for reference, Coalesce operator for String
Private Function Coalesce(ByVal ParamArray Parameters As String()) As String
For Each Parameter As String In Parameters
If Not Parameter Is Nothing Then
Return Parameter
End If
Next
Return Nothing
End Function
Neelavardhan
If should be IIf
Dim x as Integer=IIf(a,b,c)
来源:https://stackoverflow.com/questions/629036/coalesce-operator-and-conditional-operator-in-vb-net