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

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

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

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


依靠。 VB.NET 2008中的If运算符充当三元运算符。 这是刚刚推出的,在2008年之前还没有。 这里有一些更多的信息:Visual Basic如果公告

例:

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

iif一直在VB中可用,即使在VB6中也是如此。

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

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


如果()是最接近的等价值,但要注意隐式转换正在进行,如果已将“Option Strict off”

例如,如果你不小心,你可能会试图尝试这样的事情:

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

将“foo”赋值为0!

我觉得 '?' 在C#中相当的运算符会导致编译失败

链接地址: http://www.djcxy.com/p/1139.html

上一篇: Is there a conditional ternary operator in VB.NET?

下一篇: Hidden features of Python