Какой List оптимальнее?

157
19 апреля 2018, 09:38

Всем привет. Что быстрее и оптимальнее? Один большой List<T> (элементов так на 5000) или несколько List<T>'ов поменьше (на 500,1000 элементов и т.д.)

Answer 1

К Unity вопрос имеет мало отношения.

Тут роль играет лишь c#, в котором List<T>, насколько мне известно, является простой оберткой для массива.

По сути, он предлагает лишь удобный интерфейс, который прозрачно для пользователя расширяет массив, вставляет, удаляет элементы, ну и так далее.

Для повседневных задач использовать один лист оптимальнее, конечно же. Если вы думаете, что это эквивалент лучше распихать предметы в две сумки, а то одна может порваться, то вы ошибаетесь, так как в подобном массиве (коллекции) доступ к элементу производится по индексу, и вне зависимости от длины массива (списка) вы получите этот элемент за одинаковое время.

Конечно, если вы собираетесь часто вставлять элементы в середину списка (Insert()) или удалять из списка (Remove()), то вариант с несколькими коллекциями уменьшит количество копирований/выделений памяти и, соответственно, даст прирост в производительности, но, опять же, в таких случаях уже лучше использовать LinkedList<T>, что может дать существенный прирост производительности.

Все вышесказанное относится лишь к общим случаям, и я не гарантирую верность этой информации для случая, о котором спрашиваете вы, так как я просто не имею понятия, что у вас конкретно за ситуация.

READ ALSO
Анимация выделения в Xaml C#

Анимация выделения в Xaml C#

Подскажите как убрать анимацию (выделения) при нажатии на Frame

155
Проблема с AutoMapper в ASP.NET

Проблема с AutoMapper в ASP.NET

Делаю маппинг в контроллере для выдачи всех книг

182
Изменение текста кнопки через команды MVVM WPF C#

Изменение текста кнопки через команды MVVM WPF C#

Необходимо изменить состояние кнопки ("Старт/Стоп") и запустить одновременно этой кнопкой сервис(в моем случае скриншот с вебкамеры)Пытаюсь...

197