空条件运算符
为了避免冗长的空检查,已经在语言中引入了 ?.
运算符。
旧的详细语法:
If myObject IsNot Nothing AndAlso myObject.Value >= 10 Then
现在可以简洁地取代:
If myObject?.Value >= 10 Then
当你拥有一系列属性时,?
运算符特别强大。考虑以下:
Dim fooInstance As Foo = Nothing
Dim s As String
通常你必须写这样的东西:
If fooInstance IsNot Nothing AndAlso fooInstance.BarInstance IsNot Nothing Then
s = fooInstance.BarInstance.Baz
Else
s = Nothing
End If
但是使用 ?
运算符,可以用以下代码替换:
s = fooInstance?.BarInstance?.Baz