VB.NET null coalescing operator?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
Coalesce operator and Conditional operator in VB.NET
Is there a VB.NET equivalent for C#'s ?? operator?
是否有一个内置的vb.net等价于c空合并运算符?
是的,只要您使用的是VB 9或更高版本(包含在Visual Studio 2008中)。
您可以使用重载的
1 2 | Dim myVar? As Integer = Nothing Console.WriteLine(If(myVar, 7)) |
更多信息可以在vb.net团队的博客文章中找到。
(是的,这是一个运算符,即使它看起来像一个函数。它将编译为与C中的"正确的"空合并运算符相同的IL。
例子
1 2 3 4 5 6 7 8 9 10 11 | 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. |
根据这个问题,答案似乎是
我不相信有一个内置的vb.net等价物,但这里有一个答案:vb.net中的空合并运算符(8)
不,使用