C#null合体演算子に相当する組み込みのVB.NETはありますか?
はい、あります、VB 9以降(Visual Studio 2008に含まれています)を使用している限り。
If
operator のバージョンをオーバーロードして、2つの引数のみを受け入れることができます。
Dim myVar? As Integer = Nothing
Console.WriteLine(If(myVar, 7))
詳細については、VB.NETチームによるブログ投稿で こちら をご覧ください。
(はい、これは関数のように見えますが、operatorです。「適切な」null合体と同じILにコンパイルされます。 C#の演算子。)
例
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.