以下のコードに出くわしましたが、それが何を意味するのかよくわからず、グーグルが省略しているためグーグルできません??
int? x = 32;
int y = x ?? 5;
2 行目は if else ステートメントのようなものですか、??
どういう意味ですか
以下のコードに出くわしましたが、それが何を意味するのかよくわからず、グーグルが省略しているためグーグルできません??
int? x = 32;
int y = x ?? 5;
2 行目は if else ステートメントのようなものですか、??
どういう意味ですか
これはnull 合体演算子と呼ばれます。
の左側の値が の場合は??
、null
右側の値を使用し ??
ます。それ以外の場合は、左側の値を使用します。
拡張:
y = x == null ? 5 : x
また
if(x == null)
y = 5
else
y = x
if(x == null)
y = 5
else
y = x
演算子は変数の??
コレクションで使用され、最初の非 null 変数の値に評価されます。たとえば、次のコードを考えてみましょう。
int? x = null;
int? y = null;
int? z = null;
y = 12;
int? a = x ?? y ?? z;
の値はa
12 になります。これy
は、 がステートメント内の null 以外の値を持つ最初の変数であるためです。
はい if else ステートメントです。この URL http://www.webofideas.co.uk/Blog/c-sharp-double-question-mark-syntax.aspxをご覧ください。