Задать вопрос
@i__egor

Явное приведения типов это сложная операция?

Явное приведения типов это сложная операция?
Например есть лист List, в нем объекты наследованы от класса и реализующие один интерфейс.
чтоб использовать то что от класса, нужно преобразовывать к классу. нормально если в цикле делать так:
for (int i = 0; i < count; i++)
{
(list[i]  as  MyClass).FunctionMyClass();
}

или когда нужно указать элемент object и класс и он реализует интерфейс, то например:
T obj = list[list.Count - 1] as T
(where T : MyClass, IMyInterface)
  • Вопрос задан
  • 278 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks Куратор тега C#
Приведение вверх практически бесплатное.
Приведение вниз зависит от языка и сложности типа. В простейшем случае тоже бесплатное, т.к. объект - это набор байт, а тип - это интерпретация этих байт.
Ответ написан
Комментировать
yarosroman
@yarosroman Куратор тега C#
C# the best
Смотря, что и к чему приводите, при приведении значимых типов к ссылочным и наоборот приводит к операции упаковки и распаковки, плюс при приведении типов производится сравнение типов и возможность приведения их.

ЗЫ, в особоупоротых случаях, JIT и оптимизатор могут выкинуть все проверки и приведения типов нафиг.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы