Создание типа, допускающего значение NULL, в конструкторе классов

Определенные типы значений не всегда имеют или требуют определенное значение. Это распространенная практика в базах данных, где некоторым полям нельзя назначить любое значение. Например, полю базы данных можно присвоить значение NULL, чтобы указать, что ему еще не было назначено значение.

Тип, допускающий значение NULL является типом значений, который можно расширить, чтобы он принял стандартный набор значений для этого типа, а также значение NULL. Например, значение Int32NULL , которое также обозначается как Nullable<Int32>, может быть назначено любое значение от -2147483648 к 2147483647 или может быть назначено значение NULL. Логическое значение, допускающее<значение NULL, можно назначить значения True, Falseили null (без значения вообще).>

Типы, допускающие значения NULL, являются экземплярами структуры Nullable<T>. Каждый объект типа, допускающего значение NULL, имеет два открытых свойства, доступных только для чтения, HasValue и Value:

  • HasValue имеет тип bool и указывает, содержит ли переменная определенное значение. True означает, что переменная содержит значение, не равное NULL. Можно провести тест для определенного значения с помощью оператора, такого как if (x.HasValue) или if (y != null).

  • Value имеет тот же тип, что и базовый тип. Если HasValue равно True, то свойство Value содержит полезное значение. Если HasValue равно False, доступ к свойству Value вызовет исключение недопустимой операции.

По умолчанию при объявлении переменной как типа данных, допускающего значения NULL, она не имеет определенного значения (HasValue равен False), отличного от значения по умолчанию для базового типа.

Конструктор классов отображает тип, допускающий значение NULL, так же, как он отображает его базовый тип.

См. дополнительные сведения о типах, допускающих значение NULL в C#. Дополнительные сведения о типах, допускающих значение NULL, в Visual Basic см. в разделе Типы значений, допускающие значение NULL.

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в этой статье. Возможно, вы используете другой выпуск Visual Studio или разные параметры среды. Дополнительные сведения см. в разделе Персонализация среды IDE.

Добавление типа, допускающего значение NULL, с помощью конструктора классов

  1. На диаграмме классов разверните существующий класс или создайте новый.

  2. Чтобы добавить класс в проект, в меню Диаграмма классов щелкните Добавить>Добавить класс.

  3. Чтобы развернуть фигуру класса, в меню Схема классов щелкните Развернуть.

  4. Выберите фигуру класса. В меню Диаграмма классов щелкните Добавить>Поле. Новое поле с именем по умолчанию Поле появится на фигуре класса, а также в окне Сведения о классе.

  5. В столбце Имя окна Сведения о классе (или на самой фигуре класса) измените имя нового поля на допустимое и значимое имя.

  6. В столбце Тип окна Сведения о классах объявите тип как тип, допускающий значения NULL, указав следующее:

    • int? (Visual C#)
    • Nullable(Of Integer) (Visual Basic)

Добавление типа, допускающего значение NULL, с помощью редактора кода

  1. Добавьте в проект класс. Выберите узел проекта в обозревателе решений, а затем в меню Проект выберите Добавить класс.

  2. В файл CS или VB нового класса добавьте один или несколько типов, допускающих значения NULL, в объявление нового класса.

    // Declare a nullable type in Visual C#:
    class Test
    {
       int? building_number = 5;
    }
    
  3. Из представления классов перетащите значок нового класса в область конструктора классов. Фигура класса появляется на схеме классов.

  4. Разверните сведения для фигуры класса и переместите указатель мыши на элементы класса. Всплывающая подсказка отображает объявление каждого члена.

  5. Щелкните правой кнопкой мыши фигуру класса и выберите пункт Сведения о классе. Свойства нового типа можно просмотреть или изменить в окне Сведения о классе.