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

Операция «как» - приведение типов

Операция как пытается привести значение выражения слева к типу справа.

выражение как тип
  • выражение

    Выражение, тип результата которого необходимо привести к требуемому типу.

  • тип

    Тип, к которому необходимо привести тип результата вычисления выражение. Этот тип должен быть одним из возможных типов для результата вычисления выражение.

Результат

  • Результат вычисления выражение, если приведение типов возможно.
  • Исключение, если выполнить приведение типов невозможно.

С помощью операции как нельзя выполнить преобразование типов, то есть нельзя преобразовать значение типа Число в значение типа Строка.

Используйте операцию как в тех случаях, когда значение выражение имеет составной тип, а нужно, чтобы оно было одного, конкретного типа.

Также операцию как можно использовать в том случае, когда типом параметра метода выступает какой-либо базовый тип (например, Объект). Параметр метода может выступать в качестве входного параметра другого метода, который принимает значение конкретного типа, который является потомком типа Объект. Тогда вначале выполняется проверка, что значение нужного нам типа (например, Строка), а затем выполняется приведение типов при передаче в другой метод.

Если возникает необходимость присвоить значение какого-то типа переменной, которая объявлена с типом неизвестно, то это присваивание можно делать без использования операции как.

Пример

метод Скрипт()
пер А: Строка|Число = ""
пер Б: Строка|Число|Ууид = 0
пер В: неизвестно

// Допустимые операции
если А это Строка
;
В = Б как Число
А = Б как Строка|Число
СПриведением("строка")
СПриведением(2)

// Недопустимые операции
А = Б
В = Б как ДатаВремя
;

метод СПриведением(Параметр: Объект)
если Параметр это Строка
МетодСтрока(Параметр как Строка)
иначе если Параметр это Число
МетодЧисло(Параметр как Число)
иначе если Параметр это Булево
МетодБулево(Параметр как Булево)
иначе
// Действие для других типов
;
;