gpt4 book ai didi

.net - 如果、IIf() 和 If()

转载 作者:行者123 更新时间:2023-12-03 01:13:18 26 4
gpt4 key购买 nike

我最近问了一个关于 IIf vs. If 的问题发现VB中还有一个函数叫做If,它基本上和IIf做同样的事情,但是是一个短路。

If 函数的性能是否比 IIf 函数更好? If 语句是否胜过 IfIIf 函数?

最佳答案

该死,我真的以为你一直在谈论运算符(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com