2008年8月15日金曜日

[.NET]??演算子(その2)

先日??演算子についてBlogに書きましたが、その説明ページにもっと衝撃的なことが。
なんと、int型でもnull値を許容させることができるようなのです。
null 許容型 (C# プログラミング ガイド)に詳しい説明が。で、こんな感じ。

intnum = null;


型の後ろに?って書くだけでnullをセットすることができるようなのです。でサンプル書いてみました。

inthoge = null;
System.Diagnostics.Debug.WriteLine("1. hoge == null " + (hoge == null));
System.Diagnostics.Debug.WriteLine("2. hoge.HasValue " + hoge.HasValue);
System.Diagnostics.Debug.WriteLine("3. hoge= " + hoge);
hoge = 1;
System.Diagnostics.Debug.WriteLine("4. hoge.HasValue " + hoge.HasValue);
System.Diagnostics.Debug.WriteLine("5. hoge= " + hoge);


で、実行結果は以下のとおり。
1hoge == null True
2hoge.HasValue False
3hoge
4hoge.HasValue True
5hoge1


DAOっぽいクラスのインタフェースなど、意外と用途はあるかもしれません。

0 件のコメント: