質問

可能な複製:
「??」とは何ですかのオペレーター?

「??」の使用とは何かを説明してください以下のコードと「??」とは何ですかのために使用される。

if ((this.OrderDate ?? DateTime.MinValue) > DateTime.Today)

{e.description = "注文日は将来的にはあってはなりません。"; falseを返します。 }

上記のコードは次のとおりです http://nettiers.com/entitylayer.ashx

ありがとう。

役に立ちましたか?

解決

(これは複製ですが、検索するのは難しいので、将来の検索のための別のターゲットを提供するのに十分満足しています...)

それはです ヌルコーテンシングオペレーター. 。基本的に、最初のオペランドを評価し、結果がnull(null参照またはnull値タイプのnull値のいずれか)の場合、2番目のオペランドを評価します。その結果、どのオペランドが最後に評価されたとしても、効果的に評価されました。

その関連性のため、次のことを書くことができます。

int? x = E1 ?? E2 ?? E3 ?? E4;

もしも E1, E2, E3E4 すべてタイプの表現です int? - から始めます E1 非ヌル値が見つかるまで進行します。

最初のオペランドは無視可能なタイプでなければなりませんが、E 2番目のオペランドは非微細ではない場合があります。たとえば、E4がタイプの式であると仮定します int (しかし、残りはすべてまだです int? それからあなたは作ることができます x 非ullable:

int x = E1 ?? E2 ?? E3 ?? E4;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top