Разница в производительности между IIf() и If

IIf() запускает как истинный, так if и ложный код. Для простых iif-function вещей, таких как числовое if-else-statement присвоение, это не имеет iif-function большого значения. Но для if-else-statement кода, который требует какой-либо if-then-else обработки, вы тратите циклы if-statement на выполнение несоответствующего ifelse условия и, возможно, вызываете if-else-statement побочные эффекты.

Иллюстрация if-else кода:

Module Module1
    Sub Main()
        Dim test As Boolean = False
        Dim result As String = IIf(test, Foo(), Bar())
    End Sub

    Public Function Foo() As String
        Console.WriteLine("Foo!")
        Return "Foo"
    End Function

    Public Function Bar() As String
        Console.WriteLine("Bar!")
        Return "Bar"
    End Function
End Module

Выходы:

Foo!
Bar!

vb.net

if-statement

iif-function

2022-07-11T12:57:48+00:00