Работа с нулевыми типами в. NET

nullable b b и nul

Инфраструктура.NET Framework Поддерживает два типа. Nullable И Nul — 1аЫе<т>, которые помогают справиться с тем фактом, что среде исполнения.NET Тип-значение не может быть пустым . Эти типы позволяют заключить тип-значение в объект, способный выражать для типа-значения значение логического нуля. Обобщенный вариант Nullable<T> Предпочтительнее, поскольку Nullable Фактически инкапсулирует обычный тип в оболочке ссылочного типа, которая возлагает дополнительную нагрузку на сборщик мусора, если создается много экземпляров. Nullable<T> Сохраняет экземпляр на стеке как тип-значение, но при этом позволяет ему иметь значение Null.

В C# 2.0 для этих типов имеется специальная синтаксическая форма. Вы можете объявить переменную типа-значения с последующим знаком вопроса, который сообщает компилятору, что такую переменную следует создать как экземпляр типа Nullable<T>, Где Т — фактический тип, указанный в сокращенной нотации. Еще одной специальной разновидностью нулевых типов, с которой вы будете часто иметь дело при работе с привязкой данных, является класс DBNull. Это специальный класс-заместитель, предназначенный для представления значений Null В базе данных. Поскольку между Null В Базе данных и Null В.NET Нет стопроцентного соответствия, то если при извлечении значений из базы данных значением столбца является Null, В качестве соответствующего объекта.NET Будет создан экземпляр класса DBNull. Этот класс содержит единственное статическое свойство с именем Value, Которое вы можете использовать для проверки того, не равняется ли нечто DBNull. Однако если вы, как здесь, работаете с Ls<ColumnName>Null, Где <ColumnNa — Me> — это имя сильно типизированного свойства в наборе данных. При помощи этого метода вы можете заменить приведенный выше код следующим, более предпочтительным:

Другой метод, определяемый для каждого такого столбца, это SetcColumnNa — Me>Null. Если вы вызываете этот метод, он присваивает соответствующему свойству в строке данных значение DBNull .Value. Если вы затем используете эту строку для обновления базы данных через адаптер данных или адаптер таблицы, в базу данных будет записано значение логического Null.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *