佐々木屋

技術的なことから趣味まで色々書きます

null許容型

値型がnullを許容しないことは分かりました。しかし、アプリケーション構築上、nullを許容しなければいけない場面もあります。そこで登場したのがnull許容型です。

null許容型は値型の後ろに「?」をつけるだけです。しかし、元々許容型である参照型やstring型は「?」をつけることができません。

int? a = null;
decimal? b = null;
Dim a As Integer? = Nothing
Dim b As Decimal? = Nothing



null許容型はコンパイルされると、結果的にNullable構造体となります。つまり、以下変数a、bは意味としては同じということになります。

int? a = null;
Nullable<int> b = null;
Dim a As Integer? = Nothing
Dim b As Nullable(Of Integer) = Nothing