我在VB.net中使用可空类型时遇到了意外的效果。所涉及的对象有一个已定义的属性:
Public Property Value As Int32?
当我尝试使用 IIf
合并值时,会出现空异常。
cmd.Parameters.AddWithValue("@HOValue", IIf(headOffice.Value.HasValue, headOffice.Value .Value, DBNull.Value))
在C#中,我知道nullables没有隐式转换,因此无法使用??,但为什么VB.NET的IIf的第一部分会被评估?