你调用的对象是空的

时间:2016-11-15 09:18:10

标签: vb.net

我在这一行上收到一条错误,说"对象引用未设置为对象的实例"

Me.ShipTextValue.Text = IIf(String.IsNullOrWhiteSpace(orderHeader.ShippingText), String.Empty, orderHeader.ShippingText.Replace(Environment.NewLine, "<br />"))

但是我不认为该行有错误,有人可以帮我查看该行是否有任何错误?

非常感谢

1 个答案:

答案 0 :(得分:2)

不要使用旧的VB6 IIF function,而是使用If-operator,它使用短路评估,而不是IIF,即使第一个已经是True,也会对两个表达式进行评估。 {1}}。

如果NullReferencexceptionorderHeader.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