null許容型
値型がnullを許容しないことは分かりました。しかし、アプリケーション構築上、nullを許容しなければいけない場面もあります。そこで登場したのがnull許容型です。
null許容型は値型の後ろに「?」をつけるだけです。しかし、元々許容型である参照型やstring型は「?」をつけることができません。
int? a = null; decimal? b = null;
Dim a As Integer? = Nothing Dim b As Decimal? = Nothing
null許容型はコンパイルされると、結果的にNullable
int? a = null; Nullable<int> b = null;
Dim a As Integer? = Nothing Dim b As Nullable(Of Integer) = Nothing