作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近问了一个关于 IIf vs. If 的问题发现VB中还有一个函数叫做If,它基本上和IIf做同样的事情,但是是一个短路。
此 If 函数的性能是否比 IIf 函数更好? If 语句是否胜过 If 和 IIf 函数?
最佳答案
该死,我真的以为你一直在谈论运算符(operator)。 ;-) 无论如何……
Does this If function perform better than the IIf function?
当然。请记住,它已内置于语言中。只需评估两个条件参数之一,这可能会节省昂贵的操作。
Does the If statement trump the If and IIf functions?
我认为你不能比较两者,因为它们做不同的事情。如果您的代码在语义上执行分配,您应该强调这一点,而不是决策。此处使用 If 运算符而不是语句。如果您可以在变量的初始化中使用它,则尤其如此,否则该变量将被默认初始化,从而导致代码变慢:
Dim result = If(a > 0, Math.Sqrt(a), -1.0)
' versus
Dim result As Double ' Redundant default initialization!
If a > 0 Then
result = Math.Sqrt(a)
Else
result = -1
End If
关于.net - 如果、IIf() 和 If(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478/
我是一名优秀的程序员,十分优秀!