IF 與 IIF 的差別

這是一篇筆記文。

直接看簡碼吧,如下。
dim str as string=string.empty
if exp(x) then
   str = exp(a)
else
   str = exp(b)
end if


dim str as string = iif(exp(x), exp(a), exp(b))


大部分的情況下,If 與 IIf 產生的預期結果是相同的。在 if 敘述中,exp(x) 成立時,則 exp(a) 才會執行,反之 exp(b) 才會有結果。

但是,要特別留意的是,在 iif 函式中,exp(a) 及 exp(b) 將會被執行運算,然後再由 exp(x) 來篩選出結果。此時,若 exp(a) 或 exp(b) 有例外發生時,那麼則整個運算式會擲出錯誤。

這個小小的差別,我其實一直都知道、也明白。只是,今天呢,不知道在腦殘啥,竟然不知不覺地忽略了這項差異,然後被自己的腦殘搞到差點抓狂。幸好,幾分鐘後便發現自己犯了這個小錯,哈哈哈,冏

寫下這篇,主要用意是提醒自己不要在腦殘了

0 留言