VB有以下If语句的问题所指,我认为:
@H_301_5@' Usage 1
Dim result = If(a > 5,"World","Hello")
' Usage 2
Dim foo = If(result,"Alternative")
第一个基本上是C#的三元条件运算符,第二个是它的coalesce运算符(返回结果,除非它是Nothing,在这种情况下返回“Alternative”)。如果这样替换了IIf,后者是过时的。
像在C#,VB的条件如果操作符短路,所以你现在可以安全地写下面的,这是不可能使用IIf函数:
@H_301_5@Dim len = If(text Is Nothing,text.Length)