方法: Null 許容型を作成する (クラス デザイナー)

ある種の値の型は、常に値が定義されている (または必要である) とは限りません。 これはデータベースではよくあることであり、一部のフィールドに値が何も割り当てられない場合があります。 たとえば、データベースのフィールドに値がまだ割り当てられていないことを示すために、フィールドに null 値を割り当てることがあります。

null 許容型は、その型の一般的な値の範囲だけでなく null 値も受け付けるように拡張した値型です。 たとえば、Int32 の null 許容型 (Nullable<Int32> とも書きます) には、-2147483648 から 2147483647 の任意の値または null 値を代入できます。 Nullable<bool> には、値 TrueFalse、または null (値がまったくない) を割り当てることができます。

Null 許容型は、Nullable<T> 構造体のインスタンスです。 null 許容型の各インスタンスには、2 つのパブリック読み取り専用プロパティ HasValueValue があります。

  • HasValuebool 型であり、変数に定義済みの値が含まれるかどうかを示します。 True は、変数に null 以外の値が含まれていることを意味します。 if (x.HasValue)if (y != null) などのステートメントを使って、定義済みの値をテストできます。

  • Value は、基になっている型と同じ型です。 HasValueTrue の場合、Value には意味のある値が含まれています。 HasValueFalse の場合は、Value にアクセスすると無効操作例外がスローされます。

    既定では、変数を null 許容型として宣言すると、その変数は基になる値型の既定値ではなく定義されていない値になります (HasValueFalse)。

    クラス デザイナーでは、null 許容型はその基になる型と同じように表示されます。

    Visual C# での null 許容型について詳しくは、「null 許容型」をご覧ください。 Visual Basic での null 許容型について詳しくは、「null 許容値型」をご覧ください。

    注意

    次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDE をカスタマイズする」をご覧ください。

クラス デザイナーを使って null 許容型を追加するには

  1. クラス ダイアグラムで、既存のクラスを展開するか、新しいクラスを作成します。

  2. プロジェクトにクラスを追加するには、[クラス ダイアグラム] メニューの [追加] をクリックし、[クラスの追加] をクリックします。

  3. クラスの図形を展開するには、[クラス ダイアグラム] メニューの [展開] をクリックします。

  4. クラスの図形を選びます。 [クラス ダイアグラム] メニューの [追加] をクリックし、[フィールド] をクリックします。 既定の "フィールド" という名前の新しいフィールドが、クラスの図形と [クラスの詳細] ウィンドウに表示されます。

  5. [クラスの詳細] ウィンドウの [名前] 列 (または、クラスの図形自体) で、新しいフィールドの名前を有効でわかりやすい名前に変更します。

  6. [クラスの詳細] ウィンドウの [型] 列で、次のコードに示すように、null 許容型として型を宣言します。

0
1

コード エディターを使って null 許容型を追加するには

  1. プロジェクトにクラスを追加します。 ソリューション エクスプローラーでプロジェクト ノードを選び、[プロジェクト] メニューの [クラスの追加] をクリックします。

  2. 新しいクラスの .cs または .vb ファイルで、新しいクラスの null 許容型をクラス宣言に追加します。

  3. クラス ビューからクラス デザイナーのデザイン サーフェイスに、新しいクラスのアイコンをドラッグします。 クラス ダイアグラムにクラスの図形が表示されます。

  4. クラスの図形の詳細を展開し、クラス メンバーをマウスでポイントします。 各メンバーの宣言がツールヒントに表示されます。

  5. クラスの図形を右クリックし、[クラスの詳細] をクリックします。 [クラスの詳細] ウィンドウで、新しい型のプロパティを表示または変更できます。

関連項目

Nullable<T>
Null 許容型
Null 許容型の使用
方法: Null 許容型を識別する
null 許容値型