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 値を許容しますが、などのすべての値型は null 値を許容し Int32 ます。

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

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

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

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

HasValueNull 許容型のプロパティがの場合 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 許容型の基になる型を返します。

適用対象

こちらもご覧ください