首页 文章

VB.NET中是否有条件三元运算符?

提问于
浏览
387

在Perl(和其他语言)中,条件三元运算符可以表示如下:

my $foo = $bar == $buz ? $cat : $dog;

VB.NET中是否有类似的运算符?

3 回答

  • 518

    取决于版本 . VB.NET 2008中的 If 运算符是三元运算符(以及空合并运算符) . 这是刚刚推出的,在2008年之前没有这个 . 这里有更多信息:Visual Basic If announcement

    例:

    Dim foo as String = If(bar = buz, cat, dog)
    
  • 72

    即使在VB6中,iif也一直在VB中使用 .

    Dim foo as String = iif(bar = buz, cat, dog)
    

    它不是真正的运算符,而是Microsoft.VisualBasic命名空间中的函数 .

  • 19

    If()是最接近的等价物,但如果你设置了"Option Strict off",那么 beware 的隐式转换正在进行

    例如,如果您不小心,可能会尝试尝试以下方法:

    Dim foo As Integer? = If( someTrueExpression, Nothing, 2)
    

    将“foo”赋值为0!

    我觉得 '?' C#中的运算符等同于编译失败

相关问题