Null許容型
値型とか構造体にNullが使用できるようになりました。
よく使うことになると思うのはint,bool,DateTimeといったところでしょうか
で、使い方
int? test1 = null; Nullable<int> test2 = 43;
これだけ、簡単ですね:-)
「型名?」はNullable<型名>の参照らしいので、どちらでもお好みでどうぞってな具合です
あ、<型名>の記述については下のジェネリックを参照してください
もちろん普通の値型との変換も可能で、こんな感じで
int test3 = test1.HasValue ? test1.Value : -1;
また、値方に限らないのですが、nullの判定をするときにこんな感じで書けます
HasValueプロパティでnullかどうかの判定ができるのでらくちんですね!
で、新しい構文により、以下のような記述もできるようになりました
int test3 = test1.HasValue ?? -1;
これはだいぶすっきりしていい感じ:-)