読者です 読者をやめる 読者になる 読者になる

かわろぐ

技術、ボルダリング、セキュリティ、その他もろもろ

MENU

C# の null 許容型

C#

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!");
}

f:id:kawa_xxx:20160305162046j:plain

サンプル中に書いた HasValue は null 以外の値を持っていれば true を、null ならば false を返します。

int 型にも null が格納できてますねー。

参考文献