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
属性

注釈

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

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

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

ボックス化とボックス化解除

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

HasValue null 許容型のプロパティが指定されている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> の場所への読み取り専用参照を取得します。

適用対象

こちらもご覧ください