gpt4 book ai didi

.net - VB.NET 可空值

转载 作者:行者123 更新时间:2023-12-01 23:01:16 24 4
gpt4 key购买 nike

我在 VB.net 中遇到了可空值的意外影响。有问题的对象定义了一个属性:

Public Property Value As Int32?

当我尝试使用 IIf 合并值时, 我得到一个空异常
cmd.Parameters.AddWithValue("@HOValue", IIf(headOffice.Value.HasValue, headOffice.Value .Value, DBNull.Value))

在 C# 中,我知道可空对象没有隐式转换,因此您不能使用 ?? ,但为什么在 VB.NET 中评估 IIf 的第一部分?

最佳答案

这样做的原因是 Iif是一个函数,所以true值和 false在条件之前评估值。

相反,使用 If IE。:

 cmd.Parameters.AddWithValue("@HOValue", If(headOffice.Value.HasValue, headOffice.Value.Value, DBNull.Value)) ' Assuming you've already checked that headOffice.Value IsNot Nothing

关于.net - VB.NET 可空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com