如何链接一个vb.net null coalesce运算符?

时间:2011-10-25 15:39:50

标签: vb.net

我有一个Customer类,其中包含Extensions属性,而Extensions又包含属性Any。

我试着这样做:

Dim room  = If(customer.Extensions.Any.ElementAt(0).InnerText, Nothing)

但是当它在传入的xml中找不到Extension元素时会引发错误。我认为一旦看到第一个表达式为Nothing就不会返回任何内容。在这种情况下,我是否必须执行多个if语句?

1 个答案:

答案 0 :(得分:1)

是的,您必须检查至少一个元素。所以你能做的就是:

Dim a = customer.Extensions.Any.FirstOrDefault()
Dim room = If(a Is Nothing, Nothing, a.InnerText)

根据customer.Extensions.Any的类型,您可以这样做:

Dim room = If(customer.Extensions.Any.Count > 0, customer.Extensions.Any(0), Nothing)