2010-12-02 19 views

答えて

1

「?」を使用する2つの異なる演算子があります。

  • Conditional演算子:その後、 条件:?他 条件は 'を一部' を他の '他の部分' がtrueの場合、この演算子はのif-elseのようなものです。

  • null-coalescingオペレータ: ??演算子はヌル集合演算子と呼ばれ、参照可能な型だけでなくnull値型の既定値を定義するために使用されます。ヌルでない場合は、左側のオペランドを返します。それ以外の場合は、右オペランドを返します。 // y = x、xがnullでない場合、y = -1の場合 int y = x ?? -1;

9

x ? a : bif (x == true) then a else b

x ?? yを意味し、両方が表現ではなく、IFのような文であるため、if (x != null) then x else y

が、ひねりを加えたことを意味します。あなたの代わりに、複数行の代わりの1行で宣言と代入を組み合わせることvar z = x ? a : b;を書くことができ

type z; 
if (x == true) 
    z = a; 
else 
    z = b; 

Type?Nullable<Type>

+0

'? 'を使用して値の型をヌルにすることができます。 – IAbstract

+0

うん、それを忘れてしまった。タイプ – Cine

+0

を追加しましたか?と?? c#2.0に導入されました。 –

2

の省略形ですか? C#で条件演算子と呼ばれる三項演算子です。

?? 、

条件演算子は、ショートに便利/ else文

null合体演算子は、それがnullでない場合は、1つの値を返すために有用である場合簡潔でヌル合体演算子であるそうで(値別の値を返します

+0

* a *三項演算子です。与えられた名前は条件付き演算子です。 –

+0

毎日何かを学ぶ:)。私はそれを見て、あなたは間違いなく正しいです、私はそれを変更します。 –

関連する問題