在Visual Basic中,使用IIf函數而不是If語句時在性能上有區別嗎?
IIf()和If之間的性能差異
慕蓋茨4494581
2019-11-18 10:46:45
TA貢獻1828條經驗 獲得超13個贊
If我認為,VB有以下提到該問題的陳述:
' Usage 1
Dim result = If(a > 5, "World", "Hello")
' Usage 2
Dim foo = If(result, "Alternative")
第一個基本上是C#的三元條件運算符,第二個是它的合并運算符(result除非為Nothing,否則返回"Alternative")。If因此已被替換IIf,后者已過時。
像在C#中一樣,VB的條件If運算符發生短路,因此您現在可以安全地編寫以下內容,而使用該IIf功能則不可能:
Dim len = If(text Is Nothing, 0, text.Length)
舉報