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