Nullable クラス

定義

null割り当てることができる値型をサポートします。 このクラスは継承できません。

public ref class Nullable abstract sealed
public static class Nullable
[System.Runtime.InteropServices.ComVisible(true)]
public static class Nullable
type Nullable = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Nullable = class
Public Class Nullable
継承
Nullable
属性

注釈

Nullable クラスは、null割り当てることができる値型をサポートしています。

型は、値を割り当てることもnullを割り当てることもできる場合は、null 許容型と言われます。これは、型に値がまったく存在しないことを意味します。 既定では、 Stringなどのすべての参照型は null 許容ですが、 Int32など、すべての値型は null 許容ではありません。

C# と Visual Basic では、値型の後に ? 表記を使用して、値型を null 許容としてマークします。 たとえば、C# または Visual Basic のint?Integer?は、null割り当てることができる整数値型を宣言します。

Nullable クラスは、Nullable<T>構造体の補完的なサポートを提供します。 Nullable クラスは、null 許容型の基になる型の取得と、基になる値型がジェネリック比較および等値演算をサポートしていない null 許容型のペアに対する比較および等価演算をサポートします。

ボクシングとアンボクシング

null 許容型がボックス化されると、共通言語ランタイムは、Nullable<T> オブジェクト自体ではなく、Nullable<T> オブジェクトの基になる値を自動的にボックス化します。 つまり、 HasValue プロパティが trueされている場合、 Value プロパティの内容はボックス化されます。

null 許容型の HasValue プロパティが false の場合、ボックス化操作の結果は null になります。 null 許容型の基になる値がボックス化解除されると、共通言語ランタイムは、基になる値に初期化された新しい Nullable<T> 構造体を作成します。

メソッド

名前 説明
Compare<T>(Nullable<T>, Nullable<T>)

2 つの Nullable<T> オブジェクトの相対値を比較します。

Equals<T>(Nullable<T>, Nullable<T>)

指定した 2 つの Nullable<T> オブジェクトが等しいかどうかを示します。

GetUnderlyingType(Type)

指定した null 許容型の基になる型引数を返します。

GetValueRefOrDefaultRef<T>(Nullable<T>)

値が格納されている Nullable<T> インスタンス内の場所への読み取り専用参照を取得します。

適用対象

こちらもご覧ください