VB.NET空合并运算符?

可能重复:
在VB.NET中合并运算符和条件运算符
是否有一个VB.NET等价于C#的? 运营商?

是否有一个内置的VB.NET等价于C#null合并运算符?

是的,只要您使用VB 9或更高版本(包含在Visual Studio 2008中)就可以了。

您可以使用If运算符的版本重载只接受两个参数:

 Dim myVar? As Integer = Nothing Console.WriteLine(If(myVar, 7)) 

更多信息可以在VB.NET团队的博客文章中find。

(是的,这是一个运算符 ,即使它看起来像一个函数,它将会被编译成与C#中的“合适的”空合并运算符相同的IL)。

 Dim b As Boolean? Console.WriteLine("{0}.", If(b, "this is expected when b is nothing")) 'output: this is expected when b is nothing. b = False Console.WriteLine("{0}.", If(b, "this is unexpected when b is false")) 'output: False. b = True Console.WriteLine("{0}.", If(b, "this is unexpected when b is true")) 'output: True. 

根据这个问题 ,似乎答案是If()

GetValueOrDefault使用GetValueOrDefault ; 这就是为什么它在那里!

我不相信有一个内置的VB.Net等价物,但这里有一个答案: 在VB.Net中的空合并运算符(8)