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