21

重複の可能性:
VB.NET に条件付き三項演算子はありますか?

C# のように VB.NET で合体演算子 (??) と条件付き三項演算子 (:) を使用できますか?

4

4 に答える 4

19

インライン if ステートメントを使用すると、次のように近づくことができると思います。

//C#
int x = a ? b : c;

'VB.Net
Dim x as Integer = If(a, b, c)
于 2009-03-10T05:52:18.327 に答える
13
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
于 2011-03-06T10:19:18.140 に答える
6

参考までに、文字列の合体演算子

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
于 2010-11-04T09:13:38.547 に答える
-3

IIf の場合

Dim x as Integer=IIf(a,b,c)

于 2010-09-16T17:01:14.920 に答える