Перейти к основному содержимому

Операция безопасного доступа «?.»

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

Синтаксис

источник?.доступ

Операция безопасного доступа ?. не может использоваться в левой части инструкции присваивания.

Пример

знч А: Строка? = "Привет, Мир!"
знч Б: Строка? = Неопределено

знч ДлинаА = А.Длина() // 12
знч ДлинаБ = Б.Длина() // Ошибка: "Неожиданное значение Неопределено"

знч ДлинаАБезопДоступ = А?.Длина() // 12
знч ДлинаББезопДоступ = Б?.Длина() // Неопределено