クラス デザイナーで Null 許容型を作成する
ある種の値の型は、常に値が定義されている (または必要である) とは限りません。 これはデータベースではよくあることであり、一部のフィールドに値が何も割り当てられない場合があります。 たとえば、データベースのフィールドに値がまだ割り当てられていないことを示すために、フィールドに null 値を割り当てることがあります。
null 許容型は、その型の一般的な値の範囲だけでなく null 値も受け付けるように拡張した値型です。 たとえば、Int32
の null 許容型 (Nullable<Int32> とも書きます) には、-2147483648 から 2147483647 の任意の値または null 値を代入できます。 Nullable<bool> には、値 True
、False
、または null (値がまったくない) を割り当てることができます。
Null 許容型は、Nullable<T> 構造体のインスタンスです。 null 許容型の各インスタンスには、2 つのパブリック読み取り専用プロパティ HasValue
と Value
があります。
HasValue
はbool
型であり、変数に定義済みの値が含まれるかどうかを示します。True
は、変数に null 以外の値が含まれていることを意味します。if (x.HasValue)
やif (y != null)
などのステートメントを使って、定義済みの値をテストできます。Value
は、基になっている型と同じ型です。HasValue
がTrue
の場合、Value
には意味のある値が含まれています。HasValue
がFalse
の場合は、Value
にアクセスすると無効操作例外がスローされます。
既定では、変数を null 許容型として宣言すると、その変数は基になる値型の既定値ではなく定義されていない値になります (HasValue
は False
)。
クラス デザイナーでは、null 許容型はその基になる型と同じように表示されます。
C# での null 許容型について詳しくは、「null 許容型」をご覧ください。 Visual Basic での null 許容型について詳しくは、「null 許容値型」をご覧ください。
注意
この記事で紹介する Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 Visual Studio のエディションや環境設定がお使いのものと異なる場合があります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
クラス デザイナーを使って null 許容型を追加するには
クラス ダイアグラムで、既存のクラスを展開するか、新しいクラスを作成します。
プロジェクトにクラスを追加するには、 [クラス ダイアグラム] メニューで [追加]>[クラスの追加] の順にクリックします。
クラスの図形を展開するには、 [クラス ダイアグラム] メニューの [展開] をクリックします。
クラスの図形を選びます。 [クラス ダイアグラム] メニューで [追加]>[フィールド] の順にクリックします。 既定の "フィールド" という名前の新しいフィールドが、クラスの図形と [クラスの詳細] ウィンドウに表示されます。
[クラスの詳細] ウィンドウの [名前] 列 (または、クラスの図形自体) で、新しいフィールドの名前を有効でわかりやすい名前に変更します。
[クラスの詳細] ウィンドウの [型] 列で、次を指定することで、null 許容型として型を宣言します。
int?
(Visual C#)Nullable(Of Integer)
(Visual Basic)
コード エディターを使って null 許容型を追加するには
プロジェクトにクラスを追加します。 ソリューション エクスプローラーでプロジェクト ノードを選び、 [プロジェクト] メニューの [クラスの追加] をクリックします。
新しいクラスの .cs または .vb ファイルで、新しいクラスの null 許容型をクラス宣言に追加します。
クラス ビューからクラス デザイナーのデザイン サーフェイスに、新しいクラスのアイコンをドラッグします。 クラス ダイアグラムにクラスの図形が表示されます。
クラスの図形の詳細を展開し、クラス メンバーをマウスでポイントします。 各メンバーの宣言がツールヒントに表示されます。
クラスの図形を右クリックし、 [クラスの詳細] をクリックします。 [クラスの詳細] ウィンドウで、新しい型のプロパティを表示または変更できます。