Операция «как» - приведение типов
Операция как пытается привести значение выражения слева к типу справа.
выражение как тип
- выражение
- Выражение, тип результата которого необходимо привести к требуемому типу.
- тип
- Тип, к которому необходимо привести тип результата вычисления выражение. Этот тип должен быть одним из возможных типов для результата вычисления выражение.
- Результат
-
- Результат вычисления выражение, если приведение типов возможно.
- Исключение, если выполнить приведение типов невозможно.
С помощью операции как нельзя выполнить преобразование типов, то есть нельзя преобразовать значение типа Число в значение типа Строка.
Используйте операцию как в тех случаях, когда значение выражение имеет составной тип, а нужно, чтобы оно было одного, конкретного типа.
Также операцию как можно использовать в том случае, когда типом параметра метода выступает какой-либо базовый тип (например, Объект). Параметр метода может выступать в качестве входного параметра другого метода, который принимает значение конкретного типа, который является потомком типа Объект. Тогда вначале выполняется проверка что значение нужного нам типа (например, Строка), а затем выполняется приведение типов при передаче в другой метод.
Если возникает необходимость присвоить значение какого-то типа переменной, которая объявлена с типом неизвестно, то это присваивание можно делать без использования операции как.
Пример
метод Скрипт()
пер А: Строка|Число = ""
пер Б: Строка|Число|Ууид = 0
пер В: неизвестно
// Допустимые операции
если А это Строка
;
В = Б как Число
А = Б как Строка|Число
СПриведением("строка")
СПриведением(2)
// Недопустимые операции
А = Б
В = Б как ДатаВремя
;
метод СПриведением(Параметр: Объект)
если Параметр это Строка
МетодСтрока(Параметр как Строка)
иначе если Параметр это Число
МетодЧисло(Параметр как Число)
иначе если Параметр это Булево
МетодБулево(Параметр как Булево)
иначе
// действие для других типов
;
;