Настойчивая операция «!»
Операция ! (настойчивая о перация) указывает, что в данном месте в момент выполнения не может быть значения Неопределено. Если это оказывается не так, то выбрасывается исключение.
! также называется операцией отбрасывания значения Неопределено.
Синтаксис
выражение!
Операция ! может использоваться в левой части инструкции присваивания.
Примеры
Пример 1. Поиск максимального элемента в массиве
метод НайтиМаксимум(Числа: Массив<Число>): Строка
    если Числа.Размер() == 0
        возврат "Массив не содержит элементов."
    ;
    // Отсортируем числа по убыванию
    знч ЧислаПоУбыванию = Числа.Сортировать((а, б) -> б - а)
    // Вернем первое число в отсортированном массиве.
    // Так как массив гарантированно не пуст, метод ПервыйИлиНеопределено() 
    // никогда не вернет "Неопределено", поэтому этот тип можно исключить
    знч Максимум = ЧислаПоУбыванию.ПервыйИлиНеопределено()!.ВСтроку()
    возврат "Максимальное число в массиве: " + Максимум
;
Пример 2. Работа со структурами
// Структура для хранения информации о сотруднике
структура Сотрудник
    обз пер Имя: Строка
    пер Адрес: Адрес?
;
// Структура для хранения адреса сотрудника
структура Адрес
    обз пер Страна: Строка
    пер Город: Строка?
;
метод СоздатьСотрудника()
    // Создадим экземпляр структуры "Сотрудник" 
    знч Сотрудник = новый Сотрудник("Иванов А. И.", новый Адрес("Россия"))
    // Зададим значение поля "Город".
    // Так как адрес сотрудника указан при инициализации, выражение "Сотрудник.Адрес"
    // никогда не вернет "Неопределено", поэтому этот тип можно исключить
    Сотрудник.Адрес!.Город = "Москва"
;