2011-09-16 9 views
0

私は時々私のコードでifこの種の使用:この "IF ELSE"ステートメントはどのように呼び出されますか?

!Value == null ? DoSomething : DoSomethingElse; 

をし、私はそのようなif else文の正しい名前であると思いまして。

でも、同じ構造のelseがないと、if部分しか存在しないのだろうかと思います。

+0

http://msdn.microsoft.com/en-us/library/ty67wk28.aspx – TJHeuvel

+0

一般的に、条件演算子またはインラインif(iif)と呼ばれます。 (出典:http://en.wikipedia.org/wiki/%3F%3A) –

答えて

9

conditional operatorと呼ばれています。それは三元演算子(そして唯一のもの)ですが、それはそれが呼び出されるものではありません。

ifステートメントを使用することはできません。 2つの値のいずれかを返すために必要な場所でのみ使用できます。 2つの値は同じ型である必要があります。そうでない場合は、暗黙の変換が必要です。

+0

あなたの答えをハッキングして、あなたに自由な評判を与える! –

+0

http://msdn.microsoft.com/en-us/library/ty67wk28.aspx ありがとうございます!興味があればリンクを追加しました。 – Dementic

+1

多くの人が、Jon Skeetによって回答が編集されることを夢見ています。楽しめ。 – Joe

0

その三項演算子と呼ばれ、それはのような作品...

!Value == null ? DoSomething : DoSomethingElse; 

値は(あなたが追加したとして!)nullでない場合ならば、何か(doSomethingのが呼び出されます。それ以外は、(意味ありませんcodition)は失敗し、その後、何か他のもの(DoSomethingElseが呼ばれます)を行う

+1

DoSomethingとDoSomethingElseはどちらも暗黙のうちに同じものに変換できる何かを返す必要があり、それ自身で完全な文を形成するわけではなく、代入やメソッド呼び出しでそれを使う必要があります。 – Ray

2

あなたの2つ目の質問に答えるために:だけ同じで、他なし、もし部分ができる場合も

を、私は疑問に思います構造

ヌルの合体と呼ばれるヌルを確認したい場合、答えは 'kind of'です。構文が似ており、このように書き:これは何

myVariable = aPossiblyNullValue ?? ReturnThisIfNull; 

は、値がnullでなく、それがnullの場合は、右を返す場合は左側を返すです。

関連する問題