我在这一行上收到一条错误,说"对象引用未设置为对象的实例"
Me.ShipTextValue.Text = IIf(String.IsNullOrWhiteSpace(orderHeader.ShippingText), String.Empty, orderHeader.ShippingText.Replace(Environment.NewLine, "<br />"))
但是我不认为该行有错误,有人可以帮我查看该行是否有任何错误?
非常感谢
答案 0 :(得分:2)
不要使用旧的VB6 IIF
function,而是使用If
-operator,它使用短路评估,而不是IIF
,即使第一个已经是True
,也会对两个表达式进行评估。 {1}}。
如果NullReferencexception
为orderHeader.ShippingText
,则会导致Nothing
。
Me.ShipTextValue.Text = If(String.IsNullOrWhiteSpace(orderHeader.ShippingText), String.Empty, orderHeader.ShippingText.Replace(Environment.NewLine, "<br />"))
如果您使用Visual Basic 14,则可以使用null propagation operator:
ShipTextValue.Text = orderHeader.ShippingText?.Replace(Environment.NewLine, "<br />")
如果""
为orderHeader.ShippingText
,这也会返回Nothing
。