Vb.net 使用null条件时,可为null的对象必须具有值
我有个残疾手术例外 “可为null的对象必须有一个值” 当尝试使用null条件运算符设置文本表单的值时,Vb.net 使用null条件时,可为null的对象必须具有值,vb.net,winforms,Vb.net,Winforms,我有个残疾手术例外 “可为null的对象必须有一个值” 当尝试使用null条件运算符设置文本表单的值时,\u socialSecurityBracket为null/nothing。MSDN中没有任何内容告诉我它出错的原因 Class SocialSecurityBracket <Key> Public Property RowID As Integer? Public Property EmployerContributionAmount As Decimal
\u socialSecurityBracket
为null/nothing。MSDN中没有任何内容告诉我它出错的原因
Class SocialSecurityBracket
<Key>
Public Property RowID As Integer?
Public Property EmployerContributionAmount As Decimal
End Class
Public Sub Display()
txtSocialSecurity.Text = _socialSecurityBracket?.EmployerContributionAmount
End Sub
Class社会安全欺诈
公共属性RowID是否为整数?
公共财产员工贡献金额(十进制)
末级
公共子显示器()
txtSocialSecurity.Text=\u socialSecurityBracket?.EmployeerContributionAmount
端接头
您似乎试图将可为空的十进制数分配给字符串属性。这个错误除了“有点不对劲”之外没有任何帮助,但是您需要在其中进行类型转换。由于EmployeerContributionAmount
本身不可为空,因此应执行以下操作:
txtSocialSecurity.Text = _socialSecurityBracket?.EmployerContributionAmount.ToString()
(如果
\u socialSecurityBracket
为null,则将分配null,否则十进制属性将转换为字符串。)谢谢,它可以工作。为什么我的没有呢txtSocialSecurity.Text=Nothing
起作用,所以我不确定为什么txtSocialSecurity.Text=\u socialSecurityBracket?.Amount
不起作用,如果对象为Nothing,它应该只返回Nothing。@Aaron类型的\u socialSecurityBracket?.Amount
是十进制?
,但您分配给的是字符串
。