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