Настоящий Флеймер
Зарегистрирован: 22 February 2005
Сообщения: 1279
Примеры кода: 0
|
Re[3]: Конвертация списков |
08 January 2007 17:23 |
|
|
|
|
Здравствуйте, Chardex, Вы писали:
C>B наследует A.
Можно вызвать ToArray() у первого списка, а затем создать новый на основе этого массива, воспользовавшись ковариантностью. К сожалению, у List нет конструктора, принимающего массив и использующего его далее в качестве backing storage. Сделано это скорее всего по соображениям дуракоустойчивости (иначе пользовать получает доступ к приватным данным листа).
Другой вариант -- напрямую создать список нужного размера, а затем почленно добавить в него элементы. Данное решение имеет нулевой оверхед по памяти.
Решение с делегатами скорее всего медленнее обоих способов. Насколько именно -- профайлер в руки.
Данное сообщение получено с сайта RSDN
|
|