75

重複の可能性: VB.NETの
合体演算子と条件演算子
C#に相当するVB.NETはありますか?オペレーター?

C#null合体演算子に相当する組み込みのVB.NETはありますか?

4

4 に答える 4

117

はい、VB 9 以降 (Visual Studio 2008 に含まれています) を使用している限り、可能です。

オーバーロードされたバージョンのIf演算子を使用して、 2 つの引数のみを受け入れることができます。

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

詳細については、VB.NET チームによるブログ投稿を参照してください

(はい、関数のように見えますが、これはoperatorです。C# の「適切な」null 合体演算子と同じ 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.
于 2011-07-22T16:06:23.187 に答える
11

この質問によると、答えはIf()のようです。

于 2011-07-22T16:04:03.017 に答える
-3

いいえ。使用しGetValueOrDefaultます; それがそこにある理由です!

于 2011-07-22T16:03:39.830 に答える
-3

VB.Net に相当するものが組み込まれているとは思いませんが、答えは次のとおりです。VB.Net(8) の null 合体演算子

于 2011-07-22T16:05:30.900 に答える