Тип Nullable и Операция поглощения

Приветствую всех, сегодня затронем коротенькую тему о типе Nullable.

Ссылочные типы могут представлять несуществующее значение с помощью ссылки null. Однако типы значений не способны представлять значения null обычным образом.

Например:

Чтобы представить null с помощью типа значения, необходимо использовать специальную конструкцию, которая называется типом, допускающим значения null. Тип, допускающий значения null , обозначается как тип значения, за которым следует знак ?

Структура Nullable<T>

Является неизменяемой структурой, которая имеет только два поля, предназначенные для представления значения(Value) и признака наличия значения(HasValue).

Рассмотрим пример преобразования типов, допускающих значение null;

Тип Nullable<T> представляет типы значений с пустыми (нулевыми) значениями.

При сравнении операндов один из которых null — результатом сравнения всегда будет — false

Операция поглощения:

Или его еще называют оператором интеграции null (null-coalescing operator) Он обозначается знаком ?? и принимает два операнда.

Оператор ?? возвращает левый операнд, если он не null и правый операнд, если левый null

Оператор интеграции null очень удобен для задания значения переменной по умолчанию.

Основное преимущество этого оператора — поддержка как ссылочных типов, так и значимых типов, допускающих присвоение null

Обновлено: 23.03.2018 — 11:59

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.