방법: Nullable 형식 만들기(클래스 디자이너)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.

Nullable 형식은 해당 형식에 대한 일반적인 값 범위 및 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. Nullable<Int32>로도 나타내는 Int32의 nullable에는 -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>에는 True, False 또는 null(전혀 값이 없음) 값이 할당될 수 있습니다.A Nullable<bool> can be assigned the values True, False, or null (no value at all).

Nullable 형식은 Nullable<T> 구조체의 인스턴스입니다.Nullable types are instances of the Nullable<T> structure. Nullable 형식의 각 인스턴스에는 두 개의 public 읽기 전용 속성 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에 액세스하면 잘못된 작업 예외가 throw됩니다.If HasValue is False, accessing Value will throw an invalid operation exception.

    기본적으로 변수를 nullable 형식으로 선언하면 기본 값 형식의 기본값 외에 정의된 값(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.

    클래스 디자이너에는 nullable 형식이 기본 형식이 표시되는 것처럼 표시됩니다.Class Designer displays a nullable type just as it displays its underlying type.

    Visual C#의 nullable 형식에 대한 자세한 내용은 Nullable 형식을 참조하세요.For more information about nullable types in Visual C#, see Nullable Types. Visual Basic의 nullable 형식에 대한 자세한 내용은 Nullable 값 형식을 참조하세요.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.

클래스 디자이너를 사용하여 nullable 형식을 추가하려면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. 클래스 세부 내용 창의 형식 열에서 다음 코드에 표시된 대로 형식을 nullable 형식으로 선언합니다.In the Type column of the Class Details window, declare the type as a nullable type, as shown in the following code:

00
11

코드 편집기를 사용하여 nullable 형식을 추가하려면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 파일에서 새 클래스의 nullable 형식 하나 이상을 클래스 선언에 추가합니다.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>
Nullable 형식 Nullable Types
Nullable 형식 사용 Using Nullable Types
방법: Nullable 형식 식별 How to: Identify a Nullable Type
Nullable 값 형식Nullable Value Types