VB.NET中IF与IIF的区别

本文对比了VBA中IF语句与IIF函数在处理空值时的行为差异,通过三个示例函数说明了两者在逻辑判断和性能上的细微差别,强调了在实际编程中选择合适控制结构的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家看看这两个函数功能上有什么不同的地方
1.
ExpandedBlockStart.gifContractedBlock.gif Private Function GeteachQty()Function GeteachQty(ByVal obj As ObjectAs Integer
InBlock.gif        
If IsDBNull(obj) = False Then
InBlock.gif            
Return Convert.ToInt32(obj)
InBlock.gif        
Else
InBlock.gif            
Return 0
InBlock.gif        
End If
ExpandedBlockEnd.gif    
End Function
2.
ExpandedBlockStart.gifContractedBlock.gif Private Function GeteachQty()Function GeteachQty(ByVal obj As ObjectAs Integer
InBlock.gif 
InBlock.gif     
Return IIF(IsDBNull(obj),0,Convert.ToInt32(obj))

ExpandedBlockEnd.gif    
End Function

相同,不同,相同,不同........

我认为不同,根据我的测试结果,我猜测代码2更接近代码3

3.
ExpandedBlockStart.gifContractedBlock.gif Private Function GeteachQty()Function GeteachQty(ByVal obj As ObjectAs Integer
InBlock.gif        
Dim resule as Integer=Convert.ToInt32(obj)
InBlock.gif        
If IsDBNull(obj) = False Then
InBlock.gif            
Return resule 
InBlock.gif        
Else
InBlock.gif            
Return 0
InBlock.gif        
End If
ExpandedBlockEnd.gif    
End Function


如果我的猜测没错的活,那么IF与IIF就有着本质上的区别,根本不能互换,各位在使用过程中一定要小心。

转载于:https://www.cnblogs.com/weisai/archive/2005/09/26/244454.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值