C# の null 許容型
kawa.xxx
null 許容型とは?
C# には null許容型(Nullable型)が 2.0 からありますが、今までしっかり使ったことがなかったので、ちょっと調べてみた。
MSDN によると null 許容型は null の値を割り当てることのできる値型の変数です。値型限定ということで、参照型の null 許容型を作成することはできません。元から null にすることができますもんね。
null 許容型の書き方
値型 T の後ろに ? を書くだけです。
試しにサンプルを見てみましょう。VisualStudioを立ち上げるのがめんどくさかったので、LINQ Pad5 で実行させてます。
int? num =null; if(num.HasValue) { Console.WriteLine("num = "+ num.Value); } else { Console.WriteLine("Num is null!"); }
サンプル中に書いた HasValue
は null 以外の値を持っていれば true を、null ならば false を返します。
int 型にも null が格納できてますねー。
参考文献
- http://msdn.microsoft.com/ja-jp/library/1t3y8s4s.aspx
- https://msdn.microsoft.com/ja-jp/library/2cf62fcy.aspx
- http://uchukamen.com/VisualStudio/VSHistory.htm
ABOUT ME