Coalesce operator and Conditional operator in VB.NET [duplicate]

纵然是瞬间 提交于 2019-11-27 06:37:43

问题


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#?


回答1:


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)



回答2:


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



回答3:


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



回答4:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!