当前位置:  开发笔记 > 编程语言 > 正文

VB.NET中的Coalesce运算符和条件运算符

如何解决《VB.NET中的Coalesce运算符和条件运算符》经验,为你挑选了3个好方法。



1> Nick Josevsk..:

我认为你可以使用内联if语句来接近:

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

'VB.Net
Dim x as Integer = If(a, b, c)


*注意:使用if语句只适用于VB.NET 2008及更高版本.

2> Mina Luke..:
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


这个(以及下面的ivan)的问题是将评估所有参数.所以,如果我写'Dim thingie = Coalesce(Session("thingie"),新的Thingie)`每次都会创建一个新的Thingie对象(尽管如果会话中存在Thingie,它将被丢弃)

3> 小智..:

仅供参考,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

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有