可能重复:
VB.NET 中是否有条件三元运算符?
我们可以像在 C# 中一样在 VB.NET 中使用 Coalesce 运算符(??)和条件三元运算符(:) 吗?
可能重复:
VB.NET 中是否有条件三元运算符?
我们可以像在 C# 中一样在 VB.NET 中使用 Coalesce 运算符(??)和条件三元运算符(:) 吗?
我认为您可以使用内联 if 语句来接近:
//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
仅供参考,用于 String 的 Coalesce 运算符
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
如果应该是 IIf
Dim x as Integer=IIf(a,b,c)