Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csPmNvInr 125 of 436 menu
◀ ▶

Введение в отсутствующие значения в C#

Переменная типа string? хранит либо ссылку на текст в памяти, либо специальное значение null. Так отмечают «данных пока нет»: необязательное имя пользователя, ответ, который еще не пришел, или строка, которую программа заполнит позже.

null - это не пустой текст и не ноль. Это отметка об отсутствии объекта. Сравнить переменную с null можно операторами == и !=, результат имеет тип bool.

В современном проекте C# включен nullable-контекст для ссылочных типов. Запись string? явно разрешает пустую ссылку. Тип string без знака вопроса задуман так, что null там не ожидается, и компилятор предупреждает о рискованных местах.

Обычные переменные вроде int и bool всегда содержат конкретное значение. Им null не присваивают.

Если обратиться к свойству или методу через ссылку null, программа остановится с ошибкой. Поэтому перед использованием строки с возможным null нужно понимать, есть ли объект на самом деле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить