@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)
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks Куратор тега C#
Приведение вверх практически бесплатное.
Приведение вниз зависит от языка и сложности типа. В простейшем случае тоже бесплатное, т.к. объект - это набор байт, а тип - это интерпретация этих байт.
Ответ написан
Комментировать
yarosroman
@yarosroman Куратор тега C#
C# the best
Смотря, что и к чему приводите, при приведении значимых типов к ссылочным и наоборот приводит к операции упаковки и распаковки, плюс при приведении типов производится сравнение типов и возможность приведения их.

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

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

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