我遇到了短路If
操作员似乎没有短路的问题。也许你们都可以帮助我理解我做错了什么。或者也许我对短路的概念是不正确的。
见下文:
row.Item("v_total") = selectedForecastRow(0).Item("f_total") - _
If(useZero, 0, CDbl(selectedActualRow(0).Item("a_total").ToString()))
在此示例中, selectedActualRow 是null
。但是,useZero
是真的,所以我假设它If
会评估useZero
为真并返回 0,selectedActualRow
根本不评估。
我试图用它If
来避免编写一堆If-Else
语句并使我的代码更加简洁明了,但是如果If
无法执行此评估(由于null
第三个参数),那么我想我会选择另一条路线。