当前位置 : 主页 > 编程语言 > c语言 >

if-statement – VB6 IIf的优势

来源:互联网 收集:自由互联 发布时间:2021-06-24
使用IIf而不是If有性能优势吗? 除了简单的代码之外……有什么区别: If msInitialFloodSection Trim$(cboFloodSection.Text) Then mbFloodSectionChanged = TrueElse mbFloodSectionChanged = FalseEnd If 和 mbFloodSectionC
使用IIf而不是If有性能优势吗?

除了简单的代码之外……有什么区别:

If msInitialFloodSection <> Trim$(cboFloodSection.Text) Then
    mbFloodSectionChanged = True
Else
    mbFloodSectionChanged = False
End If

mbFloodSectionChanged = IIf(msInitialFloodSection <> Trim$(cboFloodSection.Text), True, False)
IIf不是运算符或语言结构,它是一个函数,就像任何其他函数一样,如Left.因此,它将始终评估其所有参数,而如果您只评估正确的分支.

例:

denominator = 0
value = IIf(denominator = 0, 0, value / denominator)

尽管分母为零,但仍存在单独的分支,这将使Divizion提高零误差.

关于性能,它将要做的是将你的价值包装到Variants中,这将需要额外的滴答,而不是那么多,但是如果我们在表现,那么If会更快,因为它不会通过Variants强迫事物,因为它只计算其中一个值,而不是两个.

网友评论