質問
可能な複製:
「??」とは何ですかのオペレーター?
「??」の使用とは何かを説明してください以下のコードと「??」とは何ですかのために使用される。
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
, E3
と E4
すべてタイプの表現です int?
- から始めます E1
非ヌル値が見つかるまで進行します。
最初のオペランドは無視可能なタイプでなければなりませんが、E 2番目のオペランドは非微細ではない場合があります。たとえば、E4がタイプの式であると仮定します int
(しかし、残りはすべてまだです int?
それからあなたは作ることができます x
非ullable:
int x = E1 ?? E2 ?? E3 ?? E4;
所属していません StackOverflow