6

重複の可能性:
C# で 2 つのクエスチョン マークを一緒に使用すると、どのような意味になりますか?

以下のコードに出くわしましたが、それが何を意味するのかよくわからず、グーグルが省略しているためグーグルできません??

int? x = 32;
int  y = x ?? 5;

2 行目は if else ステートメントのようなものですか、??どういう意味ですか

4

4 に答える 4

12

これはnull 合体演算子と呼ばれます。

の左側の値が の場合は??null右側の値を使用し ??ます。それ以外の場合は、左側の値を使用します。

拡張:

y = x == null ? 5 : x

また

if(x == null)
     y = 5
else
     y = x
于 2012-08-23T13:46:35.820 に答える
2
if(x == null)
     y = 5
else
     y = x
于 2012-08-23T13:48:12.130 に答える
1

演算子は変数の??コレクションで使用され、最初の非 null 変数の値に評価されます。たとえば、次のコードを考えてみましょう。

int? x = null;
int? y = null;
int? z = null;

y = 12;
int? a = x ?? y ?? z;

の値はa12 になります。これyは、 がステートメント内の null 以外の値を持つ最初の変数であるためです。

于 2012-08-23T13:50:32.523 に答える
0

はい if else ステートメントです。この URL http://www.webofideas.co.uk/Blog/c-sharp-double-question-mark-syntax.aspxをご覧ください。

于 2012-08-23T13:51:08.347 に答える