在Visual Basic中,使用IIf
函数而不是If语句时是否有
性能差异?
VB有以下If语句的问题所指,我认为:
' 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)