Perl (および他の言語) では、条件付き三項演算子は次のように表現できます。
my $foo = $bar == $buz ? $cat : $dog;
VB.NET に同様の演算子はありますか?
Perl (および他の言語) では、条件付き三項演算子は次のように表現できます。
my $foo = $bar == $buz ? $cat : $dog;
VB.NET に同様の演算子はありますか?
バージョンによって異なります。VB.NET 2008のIf
演算子は、三項演算子 (および null 合体演算子) です。これは導入されたばかりで、2008 年より前は利用できませんでした。ここにいくつかの詳細情報があります: Visual Basic If アナウンス
例:
Dim foo as String = If(bar = buz, cat, dog)
[編集]
2008 年以前は、上記IIf
の演算子とほぼ同じように機能するでした。If
例:
Dim foo as String = IIf(bar = buz, cat, dog)
iif は、VB6 でも常に VB で使用できます。
Dim foo as String = iif(bar = buz, cat, dog)
それ自体は真の演算子ではなく、Microsoft.VisualBasic 名前空間の関数です。
If()
が最も近いものですが、 を設定した場合は暗黙の変換が行われることに注意してください。Option Strict off
たとえば、注意しないと、次のようなことを試したくなるかもしれません。
Dim foo As Integer? = If(someTrueExpression, Nothing, 2)
foo
の値を与えます0
!
?
C# に相当する演算子は代わりにコンパイルに失敗すると思います。