方法: Null 許容型を作成する (クラス デザイナー)How to: Create a Nullable Type (Class Designer)

ある種の値の型は、常に値が定義されている (または必要である) とは限りません。Certain value types do not always have (or need) a defined value. これはデータベースではよくあることであり、一部のフィールドに値が何も割り当てられない場合があります。This is common practice in databases, where some fields might not be assigned any value. たとえば、データベースのフィールドに値がまだ割り当てられていないことを示すために、フィールドに null 値を割り当てることがあります。For example, you might assign a null value to a database field to signify that it has not yet been assigned a value.

null 許容型は、その型の一般的な値の範囲だけでなく null 値も受け付けるように拡張した値型です。A nullable type is a value type that you extend so that it takes the typical range of values for that type and also a null value. たとえば、Int32 の null 許容型 (Nullable<Int32> とも書きます) には、-2147483648 から 2147483647 の任意の値または null 値を代入できます。For example, a nullable of Int32, also denoted as Nullable<Int32>, can be assigned any value from -2147483648 to 2147483647, or it can be assigned a null value. Nullable<bool> には、値 TrueFalse、または null (値がまったくない) を割り当てることができます。A Nullable<bool> can be assigned the values True, False, or null (no value at all).

Null 許容型は、Nullable<T> 構造体のインスタンスです。Nullable types are instances of the Nullable<T> structure. null 許容型の各インスタンスには、2 つのパブリック読み取り専用プロパティ HasValueValue があります。Each instance of a nullable type has two public read-only properties, HasValue and Value:

  • HasValuebool 型であり、変数に定義済みの値が含まれるかどうかを示します。HasValue is of type bool and indicates whether the variable contains a defined value. True は、変数に null 以外の値が含まれていることを意味します。True means that the variable contains a non-null value. if (x.HasValue)if (y != null) などのステートメントを使って、定義済みの値をテストできます。You can test for a defined value by using a statement such as if (x.HasValue) or if (y != null).

  • Value は、基になっている型と同じ型です。Value is of the same type as the underlying type. HasValueTrue の場合、Value には意味のある値が含まれています。If HasValue is True, Value contains a meaningful value. HasValueFalse の場合は、Value にアクセスすると無効操作例外がスローされます。If HasValue is False, accessing Value will throw an invalid operation exception.

    既定では、変数を null 許容型として宣言すると、その変数は基になる値型の既定値ではなく定義されていない値になります (HasValueFalse)。By default, when you declare a variable as a nullable type, it has no defined value (HasValue is False), other than the default value of its underlying value type.

    クラス デザイナーでは、null 許容型はその基になる型と同じように表示されます。Class Designer displays a nullable type just as it displays its underlying type.

    Visual C# での null 許容型について詳しくは、「null 許容型」をご覧ください。For more information about nullable types in Visual C#, see Nullable Types. Visual Basic での null 許容型について詳しくは、「null 許容値型」をご覧ください。For more information about nullable types in Visual Basic, see Nullable Value Types.

    注意

    次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。The Visual Studio edition that you have and the settings that you use determine these elements. 詳細については、「IDE をカスタマイズする」をご覧ください。For more information, see Personalizing the IDE.

クラス デザイナーを使って null 許容型を追加するにはTo add a nullable type by using the Class Designer

  1. クラス ダイアグラムで、既存のクラスを展開するか、新しいクラスを作成します。In the Class Diagram, expand an existing class or create a new class.

  2. プロジェクトにクラスを追加するには、[クラス ダイアグラム] メニューの [追加] をクリックし、[クラスの追加] をクリックします。To add a class to the project, on the Class Diagram menu, click Add, and then click Add Class.

  3. クラスの図形を展開するには、[クラス ダイアグラム] メニューの [展開] をクリックします。To expand the class shape, on the Class Diagram menu, click Expand.

  4. クラスの図形を選びます。Select the class shape. [クラス ダイアグラム] メニューの [追加] をクリックし、[フィールド] をクリックします。On the Class Diagram menu, click Add, and then click Field. 既定の "フィールド" という名前の新しいフィールドが、クラスの図形と [クラスの詳細] ウィンドウに表示されます。A new field that has the default name Field will appear in the class shape and also in the Class Details window.

  5. [クラスの詳細] ウィンドウの [名前] 列 (または、クラスの図形自体) で、新しいフィールドの名前を有効でわかりやすい名前に変更します。In the Name column of the Class Details window (or in the class shape itself), change the name of the new field to a valid and meaningful name.

  6. [クラスの詳細] ウィンドウの [型] 列で、次のコードに示すように、null 許容型として型を宣言します。In the Type column of the Class Details window, declare the type as a nullable type, as shown in the following code:

00
11

コード エディターを使って null 許容型を追加するにはTo add a nullable type by using the Code Editor

  1. プロジェクトにクラスを追加します。Add a class to the project. ソリューション エクスプローラーでプロジェクト ノードを選び、[プロジェクト] メニューの [クラスの追加] をクリックします。Select the project node in Solution Explorer, and, on the Project menu, click Add Class.

  2. 新しいクラスの .cs または .vb ファイルで、新しいクラスの null 許容型をクラス宣言に追加します。In the .cs or .vb file for the new class, add one or more nullable types in the new class to the class declaration.

  3. クラス ビューからクラス デザイナーのデザイン サーフェイスに、新しいクラスのアイコンをドラッグします。From Class View, drag the new class icon to the Class Designer design surface. クラス ダイアグラムにクラスの図形が表示されます。A class shape appears in the class diagram.

  4. クラスの図形の詳細を展開し、クラス メンバーをマウスでポイントします。Expand the details for the class shape and move the mouse pointer over the class members. 各メンバーの宣言がツールヒントに表示されます。The tooltip displays the declaration of each member.

  5. クラスの図形を右クリックし、[クラスの詳細] をクリックします。Right-click the class shape and click Class Details. [クラスの詳細] ウィンドウで、新しい型のプロパティを表示または変更できます。You can view or modify the new type's properties in the Class Details window.

関連項目See Also

Nullable<T>Nullable<T>
Null 許容型 Nullable Types
Null 許容型の使用 Using Nullable Types
方法: Null 許容型を識別する How to: Identify a Nullable Type
null 許容値型Nullable Value Types