Jim*_*nts 426 vb.net operators conditional-operator short-circuiting
在Perl(和其他语言)中,条件三元运算符可以表示如下:
my $foo = $bar == $buz ? $cat : $dog;
Run Code Online (Sandbox Code Playgroud)
VB.NET中是否有类似的运算符?
Bee*_*eep 571
取决于版本.在If
2008年VB.NET运算符是一个三元操作(以及空聚结操作者).这是刚刚推出的,在2008年之前没有这个.这里有一些更多的信息: Visual Basic如果公告
例:
Dim foo as String = If(bar = buz, cat, dog)
Run Code Online (Sandbox Code Playgroud)
Kri*_*son 74
即使在VB6中,iif也一直在VB中可用.
Dim foo as String = iif(bar = buz, cat, dog)
Run Code Online (Sandbox Code Playgroud)
它不是真正的运算符,而是Microsoft.VisualBasic命名空间中的函数.
unn*_*own 24
如果()是最接近的等价物,但如果设置了"Option Strict off",请注意隐式转换
例如,如果您不小心,可能会尝试尝试以下方法:
Dim foo As Integer? = If( someTrueExpression, Nothing, 2)
Run Code Online (Sandbox Code Playgroud)
将"foo"赋值为0!
我觉得 '?' 在C#中等效的运算符将导致编译失败
归档时间: |
|
查看次数: |
206726 次 |
最近记录: |